csky: Make pfn accessors static inlines
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 10 Aug 2023 07:40:31 +0000 (09:40 +0200)
committerGuo Ren <guoren@linux.alibaba.com>
Fri, 11 Aug 2023 02:12:49 +0000 (22:12 -0400)
commitc1884e1e116409dafce84df38134aa2d7cdb719d
tree5e99a6a1ac7dae232f0a9f4b2a51302a2e6c4e57
parentee12fe28ae0e768af776c8e0247e83e59e5c4525
csky: Make pfn accessors static inlines

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.

For symmetry to the same thing with pfn_to_virt().

In order to do this we move the virt_to_phys() and
phys_to_virt() below the definitions 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: Guo Ren <guoren@linux.alibaba.com>
Signed-off-by: Guo Ren <guoren@kernel.org>
arch/csky/include/asm/page.h