ARC: init: Pass a pointer to virt_to_pfn() in init
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 3 Jun 2022 09:01:05 +0000 (11:01 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 29 May 2023 09:27:07 +0000 (11:27 +0200)
Functions that work on a pointer to virtual memory such as
virt_to_pfn() and users of that function such as
virt_to_page() are supposed to pass a pointer to virtual
memory, ideally a (void *) or other pointer. However since
many architectures implement virt_to_pfn() as a macro,
this function becomes polymorphic and accepts both a
(unsigned long) and a (void *).

Fix up the offending call in arch/arc with an explicit cast.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arc/mm/init.c

index 2b89b6c..9f64d72 100644 (file)
@@ -87,7 +87,7 @@ void __init setup_arch_memory(void)
        setup_initial_init_mm(_text, _etext, _edata, _end);
 
        /* first page of system - kernel .vector starts here */
-       min_low_pfn = virt_to_pfn(CONFIG_LINUX_RAM_BASE);
+       min_low_pfn = virt_to_pfn((void *)CONFIG_LINUX_RAM_BASE);
 
        /* Last usable page of low mem */
        max_low_pfn = max_pfn = PFN_DOWN(low_mem_start + low_mem_sz);