[PATCH] mm: sparse: Use '%pa' with 'phys_addr_t' type

From: Anders Roxell
Date: Thu Jan 31 2019 - 11:11:06 EST


Fix the following build warning:

mm/sparse.c: In function âsparse_buffer_initâ:
mm/sparse.c:438:69: warning: format â%lxâ expects argument of type âlong
unsigned intâ, but argument 6 has type âphys_addr_tâ {aka âlong long
unsigned intâ} [-Wformat=]
panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%lx\n",
~~^

Rework to use '%pa' and not '%lx'. Use a local variable of phys_addr_t
to print the reference with '%pa'.

Fixes: 1c3c9328cde0 ("treewide: add checks for the return value of memblock_alloc*()")
Signed-off-by: Anders Roxell <anders.roxell@xxxxxxxxxx>
---
mm/sparse.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/mm/sparse.c b/mm/sparse.c
index 1471f06c6468..6a2b0a9359d7 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -409,16 +409,17 @@ struct page __init *sparse_mem_map_populate(unsigned long pnum, int nid,
{
unsigned long size = section_map_size();
struct page *map = sparse_buffer_alloc(size);
+ phys_addr_t addr = __pa(MAX_DMA_ADDRESS);

if (map)
return map;

map = memblock_alloc_try_nid(size,
- PAGE_SIZE, __pa(MAX_DMA_ADDRESS),
+ PAGE_SIZE, addr,
MEMBLOCK_ALLOC_ACCESSIBLE, nid);
if (!map)
- panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%lx\n",
- __func__, size, PAGE_SIZE, nid, __pa(MAX_DMA_ADDRESS));
+ panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%pa\n",
+ __func__, size, PAGE_SIZE, nid, &addr);

return map;
}
@@ -429,14 +430,15 @@ static void *sparsemap_buf_end __meminitdata;

static void __init sparse_buffer_init(unsigned long size, int nid)
{
+ phys_addr_t addr = __pa(MAX_DMA_ADDRESS);
WARN_ON(sparsemap_buf); /* forgot to call sparse_buffer_fini()? */
sparsemap_buf =
memblock_alloc_try_nid_raw(size, PAGE_SIZE,
- __pa(MAX_DMA_ADDRESS),
+ addr,
MEMBLOCK_ALLOC_ACCESSIBLE, nid);
if (!sparsemap_buf)
- panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%lx\n",
- __func__, size, PAGE_SIZE, nid, __pa(MAX_DMA_ADDRESS));
+ panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%pa\n",
+ __func__, size, PAGE_SIZE, nid, &addr);

sparsemap_buf_end = sparsemap_buf + size;
}
--
2.20.1