Message ID | 20220630084124.691207-1-linus.walleij@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | mm: Pass pointers to page accessors | expand |
On Thu, 30 Jun 2022 10:41:19 +0200 Linus Walleij <linus.walleij@linaro.org> wrote: > In a recent change to the Arm architecture with the end goal > of removing highmem we need to convert virt_to_phys() and > virt_to_pfn() to static inline functions. > > This will make them strongly typed. > > However since virt_to_* is always implemented as macros they > have become polymorphic and accept both (void *) and > e.g. unsigned long as arguments. > > Other functions such as virt_to_page() simply wrap > virt_to_pfn() and get affected indirectly. > > To be able to proceed, patch mm to use (void *) as argument > to affected functions in all instances. It would be nice if someone were to teach x86 and others to use static inlines. Get rid of those stupid macros and improve coverage for your changes.
On Sat, Jul 2, 2022 at 1:00 AM Andrew Morton <akpm@linux-foundation.org> wrote: > It would be nice if someone were to teach x86 and others to use static > inlines. Get rid of those stupid macros and improve coverage for your > changes. I share your view on this. I have patches for that, for virt_to_pfn() at least on all archs except one. Since it seems the MM maintainer likes the idea I will talk to Arnd to have this merged and also possibly look at some more of these macros. Yours, Linus Walleij