[PATCH 1/2] powerpc/4xx/ocm: Fix phys_addr_t printf warnings
LEROY Christophe
christophe.leroy at c-s.fr
Wed Jan 2 03:52:19 AEDT 2019
Michael Ellerman <mpe at ellerman.id.au> a écrit :
> Currently the code produces several warnings, eg:
>
> arch/powerpc/platforms/4xx/ocm.c:240:38: error: format '%llx'
> expects argument of type 'long long unsigned int', but argument 3
> has type 'phys_addr_t {aka unsigned int}'
> seq_printf(m, "PhysAddr : 0x%llx\n", ocm->phys);
> ~~~^ ~~~~~~~~~
>
> Fix it by using the special %pa[p] format for printing phys_addr_t.
> Note we need to pass the value by reference for the special specifier
> to work.
When I fixed the same problem in prom.c, you suggested to simply cast
it to unsigned long long. Is this a better solution ?
Christophe
>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> ---
> arch/powerpc/platforms/4xx/ocm.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/powerpc/platforms/4xx/ocm.c
> b/arch/powerpc/platforms/4xx/ocm.c
> index c22b099c42f1..a1aaa1569d7c 100644
> --- a/arch/powerpc/platforms/4xx/ocm.c
> +++ b/arch/powerpc/platforms/4xx/ocm.c
> @@ -237,12 +237,12 @@ static int ocm_debugfs_show(struct seq_file
> *m, void *v)
> continue;
>
> seq_printf(m, "PPC4XX OCM : %d\n", ocm->index);
> - seq_printf(m, "PhysAddr : 0x%llx\n", ocm->phys);
> + seq_printf(m, "PhysAddr : %pa[p]\n", &(ocm->phys));
> seq_printf(m, "MemTotal : %d Bytes\n", ocm->memtotal);
> seq_printf(m, "MemTotal(NC) : %d Bytes\n", ocm->nc.memtotal);
> seq_printf(m, "MemTotal(C) : %d Bytes\n\n", ocm->c.memtotal);
>
> - seq_printf(m, "NC.PhysAddr : 0x%llx\n", ocm->nc.phys);
> + seq_printf(m, "NC.PhysAddr : %pa[p]\n", &(ocm->nc.phys));
> seq_printf(m, "NC.VirtAddr : 0x%p\n", ocm->nc.virt);
> seq_printf(m, "NC.MemTotal : %d Bytes\n", ocm->nc.memtotal);
> seq_printf(m, "NC.MemFree : %d Bytes\n", ocm->nc.memfree);
> @@ -252,7 +252,7 @@ static int ocm_debugfs_show(struct seq_file *m, void *v)
> blk->size, blk->owner);
> }
>
> - seq_printf(m, "\nC.PhysAddr : 0x%llx\n", ocm->c.phys);
> + seq_printf(m, "\nC.PhysAddr : %pa[p]\n", &(ocm->c.phys));
> seq_printf(m, "C.VirtAddr : 0x%p\n", ocm->c.virt);
> seq_printf(m, "C.MemTotal : %d Bytes\n", ocm->c.memtotal);
> seq_printf(m, "C.MemFree : %d Bytes\n", ocm->c.memfree);
> --
> 2.17.2
More information about the Linuxppc-dev
mailing list