Re: [PATCH v4 12/16] parisc: mm: Convert to GENERIC_IOREMAP

From: Baoquan He
Date: Fri Feb 17 2023 - 09:22:53 EST


On 02/17/23 at 01:46pm, Christophe Leroy wrote:
>
>
> Le 17/02/2023 à 14:31, Baoquan He a écrit :
> > On 02/16/23 at 04:18pm, Arnd Bergmann wrote:
> >> On Thu, Feb 16, 2023, at 16:02, Baoquan He wrote:
> >>> On 02/16/23 at 01:50pm, Matthew Wilcox wrote:
> >>> It's not if including asm-generic/iomap.h. The ARCH_HAS_IOREMAP_xx is to
> >>> avoid redefinition there.
> >>>
> >>> include/asm-generic/iomap.h:
> >>> ----
> >>> #ifndef ARCH_HAS_IOREMAP_WC
> >>> #define ioremap_wc ioremap
> >>> #endif
> >>
> >> I'd change that to the usual '#ifndef ioremap_wc' in that case.
> >
> > Not sure if I got you. Kill all ARCH_HAS_IOREMAP_xxx in kernel? If yes,
> > sounds like a good idea.
> >
>
> At least kill that one at the first place in your series, and then the
> other ones in a follow-up series maybe.

Then we can make a preparation patch to change that in iomap.h, then
remove all ARCH_HAS_IOREMAP_WC definition in arch. I thought to let this
patch as is, then get rid of all ARCH_HAS_IOREMAP_xxx in a follow-up
series. While the former is also fine to me. Thanks, Christophe.

diff --git a/include/asm-generic/iomap.h b/include/asm-generic/iomap.h
index 08237ae8b840..5fa1e9ca951c 100644
--- a/include/asm-generic/iomap.h
+++ b/include/asm-generic/iomap.h
@@ -93,7 +93,7 @@ extern void __iomem *ioport_map(unsigned long port, unsigned int nr);
extern void ioport_unmap(void __iomem *);
#endif

-#ifndef ARCH_HAS_IOREMAP_WC
+#ifndef ioremap_wc
#define ioremap_wc ioremap
#endif

[~]$ git grep ARCH_HAS_IOREMAP_WC
arch/loongarch/include/asm/io.h:#define ARCH_HAS_IOREMAP_WC
arch/mips/include/asm/io.h:#define ARCH_HAS_IOREMAP_WC
arch/powerpc/include/asm/io.h:#define ARCH_HAS_IOREMAP_WC
arch/x86/include/asm/io.h:#define ARCH_HAS_IOREMAP_WC
drivers/net/ethernet/sfc/io.h:#ifdef ARCH_HAS_IOREMAP_WC
drivers/net/ethernet/sfc/siena/io.h:#ifdef ARCH_HAS_IOREMAP_WC
include/asm-generic/iomap.h:#ifndef ARCH_HAS_IOREMAP_WC