mm: sparse: Use '%pa' with 'phys_addr_t' type
authorAnders Roxell <anders.roxell@linaro.org>
Thu, 7 Feb 2019 00:58:38 +0000 (11:58 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 8 Feb 2019 09:30:55 +0000 (20:30 +1100)
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
",
                                                                   ~~^

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

Link: http://lkml.kernel.org/r/20190131161046.21886-1-anders.roxell@linaro.org
Fixes: 1c3c9328cde0 ("treewide: add checks for the return value of memblock_alloc*()")
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
mm/sparse.c

index ad94242..19eb8b7 100644 (file)
@@ -411,16 +411,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;
 }
@@ -431,14 +432,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;
 }