[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