Re: [PATCH 1/2] parisc: use the asm-generic version for writeX()

From: Sinan Kaya
Date: Mon Apr 16 2018 - 19:15:46 EST


On 4/16/2018 7:09 PM, John David Anglin wrote:
> On 2018-04-16 6:01 PM, Sinan Kaya wrote:
>> parisc architecture seems to be mapping writeX() and writeX_relaxed() APIs
>> to __raw_writeX() API.
>>
>> __raw_writeX() API doesn't provide any kind of ordering guarantees.
>> commit 755bd04aaf4b ("io: define stronger ordering for the default writeX()
>> implementation") changed asm-generic implementation to use a more
>> conservative approach towards the writeX() API.
>>
>> Drop the arch specific version and rely on the asm-generic version for
>> parisc since parisc version doesn't seem to do anything special with these
>> macros.
> Â HOSTLDÂ scripts/mod/modpost
> In file included from ./arch/parisc/include/asm/hardirq.h:13:0,
> ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ from ./include/linux/hardirq.h:9,
> ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ from arch/parisc/kernel/asm-offsets.c:34:
> ./include/linux/irq.h: In function 'irq_reg_writel':
> ./include/linux/irq.h:1114:3: error: implicit declaration of function 'writel' [-Werror=implicit-function-declaration]
> ÂÂ writel(val, gc->reg_base + reg_offset);
> ÂÂ ^~~~~~
> ./include/linux/irq.h: In function 'irq_reg_readl':
> ./include/linux/irq.h:1123:10: error: implicit declaration of function 'readl' [-Werror=implicit-function-declaration]
> ÂÂ return readl(gc->reg_base + reg_offset);
> ÂÂÂÂÂÂÂÂÂ ^~~~~
> cc1: some warnings being treated as errors
> make[1]: *** [Kbuild:58: arch/parisc/kernel/asm-offsets.s] Error 1
>
> Dave
>

Thanks for testing. Can you add this on top and see if it helps?

--- a/arch/parisc/include/asm/io.h
+++ b/arch/parisc/include/asm/io.h
@@ -259,6 +259,7 @@ extern void outsl (unsigned long port, const void *src, unsigned long count);
* value for either 32 or 64 bit mode */
#define F_EXTEND(x) ((unsigned long)((x) | (0xffffffff00000000ULL)))

+#include <asm-generic/io.h>
#include <asm-generic/iomap.h>


--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.