From b1339686dbc0866caf49c0fd57b70fbceb543680 Mon Sep 17 00:00:00 2001 From: David Disseldorp Date: Thu, 14 Nov 2024 04:04:36 +0100 Subject: [PATCH] lkl: silence bootmem compiler warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gcc-14 complains about the type mismatch: arch/lkl/mm/bootmem.c: In function ‘bootmem_init’: arch/lkl/mm/bootmem.c:39:35: error: passing argument 1 of ‘virt_to_pfn’ makes pointer from integer without a cast [-Wint-conversion] 39 | max_low_pfn = virt_to_pfn(memory_end); | ^~~~~~~~~~ | | | long unsigned int ... ./include/asm-generic/page.h:77:53: note: expected ‘const void *’ but argument is of type ‘long unsigned int’ 77 | static inline unsigned long virt_to_pfn(const void *kaddr) | ~~~~~~~~~~~~^~~~~ Add a cast to silence the warning. Drop some unnecessary casts for _memory_start and empty_zero_page, which can both be void *. Signed-off-by: David Disseldorp --- arch/lkl/mm/bootmem.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/arch/lkl/mm/bootmem.c b/arch/lkl/mm/bootmem.c index 94854355c8b0bf..bef66ec7d65b35 100644 --- a/arch/lkl/mm/bootmem.c +++ b/arch/lkl/mm/bootmem.c @@ -4,7 +4,8 @@ #include unsigned long memory_start, memory_end; -static unsigned long _memory_start, mem_size; +static void *_memory_start; +static unsigned long mem_size; void *empty_zero_page; @@ -16,12 +17,12 @@ void __init bootmem_init(unsigned long mem_sz) if (lkl_ops->page_alloc) { mem_size = PAGE_ALIGN(mem_size); - _memory_start = (unsigned long)lkl_ops->page_alloc(mem_size); + _memory_start = lkl_ops->page_alloc(mem_size); } else { - _memory_start = (unsigned long)lkl_ops->mem_alloc(mem_size); + _memory_start = lkl_ops->mem_alloc(mem_size); } - memory_start = _memory_start; + memory_start = (unsigned long)_memory_start; BUG_ON(!memory_start); memory_end = memory_start + mem_size; @@ -36,12 +37,12 @@ void __init bootmem_init(unsigned long mem_sz) * Give all the memory to the bootmap allocator, tell it to put the * boot mem_map at the start of memory. */ - max_low_pfn = virt_to_pfn(memory_end); - min_low_pfn = virt_to_pfn(memory_start); + max_low_pfn = virt_to_pfn((void *)memory_end); + min_low_pfn = virt_to_pfn((void *)memory_start); memblock_add(memory_start, mem_size); empty_zero_page = memblock_alloc(PAGE_SIZE, PAGE_SIZE); - memset((void *)empty_zero_page, 0, PAGE_SIZE); + memset(empty_zero_page, 0, PAGE_SIZE); zones_max_pfn[ZONE_NORMAL] = max_low_pfn; free_area_init(zones_max_pfn); @@ -66,7 +67,7 @@ void free_initmem(void) void free_mem(void) { if (lkl_ops->page_free) - lkl_ops->page_free((void *)_memory_start, mem_size); + lkl_ops->page_free(_memory_start, mem_size); else - lkl_ops->mem_free((void *)_memory_start); + lkl_ops->mem_free(_memory_start); }