Re: [PATCH 0/5] mm: Pass pointers to page accessors

Andrew Morton
2022-07-01T23:00:08Z

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.