[PATCH 2/4] mm: ioremap: Add arch_ioremap/iounmap_check()
Andrew Morton
akpm at linux-foundation.org
Wed Apr 27 11:25:45 PDT 2022
On Wed, 27 Apr 2022 20:20:30 +0200 Arnd Bergmann <arnd at arndb.de> wrote:
> On Wed, Apr 27, 2022 at 2:14 PM Kefeng Wang <wangkefeng.wang at huawei.com> wrote:
> > @@ -964,6 +964,9 @@ static inline void iounmap(volatile void __iomem *addr)
> > #elif defined(CONFIG_GENERIC_IOREMAP)
> > #include <linux/pgtable.h>
> >
> > +bool arch_ioremap_check(phys_addr_t addr, size_t size, unsigned long prot);
> > +bool arch_iounmap_check(void __iomem *addr);
> > +
> > void __iomem *ioremap_prot(phys_addr_t addr, size_t size, unsigned long prot);
> > void iounmap(volatile void __iomem *addr);
> >
> > diff --git a/mm/ioremap.c b/mm/ioremap.c
> > index 522ef899c35f..d1117005dcc7 100644
> > --- a/mm/ioremap.c
> > +++ b/mm/ioremap.c
> > @@ -11,6 +11,16 @@
> > #include <linux/io.h>
> > #include <linux/export.h>
> >
> > +bool __weak arch_ioremap_check(phys_addr_t addr, size_t size, unsigned long prot)
> > +{
> > + return true;
> > +}
> > +
> > +bool __weak arch_iounmap_check(void __iomem *addr)
> > +{
> > + return true;
> > +}
> > +
>
> I don't really like the weak functions.
How come? They work quite nicely here?
> The normal way to do this
Is a lot more fuss.
More information about the linux-arm-kernel
mailing list