s390/mm: make virt_to_pfn() a static inline
authorLinus Walleij <linus.walleij@linaro.org>
Sat, 12 Aug 2023 15:12:54 +0000 (17:12 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 16 Aug 2023 13:13:03 +0000 (15:13 +0200)
commit2d1494fb31405df0dfb6006fdb2b24e7880258cd
treef21e0f280a7084fb14171c23d3e7bdbeac062c89
parent5cfdff02e97a46f90b3ba408af62ad3dcb0dc586
s390/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.

For symmetry do the same with pfn_to_virt() reflecting the
current layout in asm-generic/page.h.

Doing this reveals a number of offenders in the arch code and
the S390-specific drivers, so just bite the bullet and fix up
all of those as well.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Link: https://lore.kernel.org/r/20230812-virt-to-phys-s390-v2-1-6c40f31fe36f@linaro.org
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/kfence.h
arch/s390/include/asm/page.h
arch/s390/mm/cmm.c
arch/s390/mm/vmem.c
drivers/s390/block/scm_blk.c
drivers/s390/char/vmcp.c