]> git.itanic.dy.fi Git - linux-stable/commit
ARC: mm: Make virt_to_pfn() a static inline
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 15 Nov 2023 13:28:14 +0000 (14:28 +0100)
committerArnd Bergmann <arnd@arndb.de>
Tue, 5 Dec 2023 12:11:37 +0000 (13:11 +0100)
commitda4382a7207e7d2243b860146442243a8daf33de
treec230fda298cddeef6a9d2c8d1ac62cc1c17fb86e
parent235a59c373b15e84df1a254c96066fc5fc47ae41
ARC: mm: Make virt_to_pfn() a static inline

Making virt_to_pfn() a static inline taking a strongly typed
(const void *) makes the contract of a passing a pointer of that
type to the function explicit and exposes any misuse of the
macro virt_to_pfn() acting polymorphic and accepting many types
such as (void *), (unitptr_t) or (unsigned long) as arguments
without warnings.

In order to do this we move the virt_to_phys() and
below the definition of the __pa() and __va() macros so it
compiles. The macro version was also able to do recursive
symbol resolution.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arc/include/asm/page.h
arch/arc/include/asm/pgtable-levels.h