On Wed, Apr 27, 2022 at 8:25 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > On Wed, 27 Apr 2022 20:20:30 +0200 Arnd Bergmann <arnd@xxxxxxxx> wrote: > > On Wed, Apr 27, 2022 at 2:14 PM Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> wrote: > > > > > > +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? I find them rather confusing, mostly because it is less clear whether the fallback function is used in a given configuration, or a replacement one is present. This is a bigger problem in some subsystems than others, and the main place I don't like is the drivers/pci/ subsystem. A number of the uses there should be driver specific but happen to be implemented by architectures instead. Maybe I'm just projecting that onto other uses, but I definitely have a bad feeling about them here. Arnd