Le 17/02/2023 à 15:21, Baoquan He a écrit : > 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 > > Not so many: $ git grep ARCH_HAS_IOREMAP_WC | grep define 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 And also make sure they define ioremap_wc : $ git grep "define ioremap_wc" `git grep -l "define ARCH_HAS_IOREMAP_WC"` arch/loongarch/include/asm/io.h:#define ioremap_wc(offset, size) \ arch/mips/include/asm/io.h:#define ioremap_wc(offset, size) \ arch/powerpc/include/asm/io.h:#define ioremap_wc ioremap_wc arch/x86/include/asm/io.h:#define ioremap_wc ioremap_wc Christophe