Re: [PATCH v4 01/16] hexagon: mm: Convert to GENERIC_IOREMAP

From: Baoquan He
Date: Thu Feb 16 2023 - 09:48:22 EST


On 02/16/23 at 01:53pm, Arnd Bergmann wrote:
> On Thu, Feb 16, 2023, at 13:34, Baoquan He wrote:
> > diff --git a/arch/hexagon/include/asm/io.h
> > b/arch/hexagon/include/asm/io.h
> > index 46a099de85b7..dcd9cbbf5934 100644
> > --- a/arch/hexagon/include/asm/io.h
> > +++ b/arch/hexagon/include/asm/io.h
> > @@ -170,8 +170,13 @@ static inline void writel(u32 data, volatile void
> > __iomem *addr)
> > #define writew_relaxed __raw_writew
> > #define writel_relaxed __raw_writel
> >
> > -void __iomem *ioremap(unsigned long phys_addr, unsigned long size);
> > -#define ioremap_uc(X, Y) ioremap((X), (Y))
> > +/*
> > + * I/O memory mapping functions.
> > + */
> > +#define _PAGE_IOREMAP (_PAGE_PRESENT | _PAGE_READ | _PAGE_WRITE | \
> > + (__HEXAGON_C_DEV << 6))
> > +

Thanks for reviewing.

> > +#define ioremap_uc(addr, size) ioremap((addr), (size))
>
> I think we probably want to kill off ioremap_uc() here, and use
> the generic version that just returns NULL.


-#define ioremap_uc(X, Y) ioremap((X), (Y))
+#define ioremap_uc(addr, size) ioremap((addr), (size))

Here, in fact the ioremap_uc() definition is not related. I just
improve the old definition passingly. And similar for other
ioremap_uc() adaptation.

>
> I see that there are only two callers of {devm_,}ioremap_uc() left in the
> tree, so maybe we can even take that final step and remove it from
> the interface. Maybe we can revisit [1] as part of this series.

I see now. Christoph Hellwig ever mentioned in v2 reviewing, I
didn't get why. Thanks for the details.
https://lore.kernel.org/all/YwHX98KBEnZw9t6e@xxxxxxxxxxxxx/T/#u

I am not sure if it's OK to do the change in this patchset, maybe
another patch?

Thanks
Baoquan