[1/2] powerpc/4xx/ocm: Fix phys_addr_t printf warnings
Michael Ellerman
mpe at ellerman.id.au
Tue Jan 8 20:54:28 AEDT 2019
Christian Lamparter <chunkeey at gmail.com> writes:
> On Wednesday, January 2, 2019 12:31:50 PM CET Michael Ellerman wrote:
>> On Tue, 2019-01-01 at 03:56:00 UTC, Michael Ellerman wrote:
>> > 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.
>> >
>> > Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
>>
>> Series applied to powerpc fixes.
>>
>> https://git.kernel.org/powerpc/c/52b88fa1e8c7bae03bb691178a9f8b
>
> Well, I guess I'm a late. I had issues with the getting 4.20+
> crosscompiled on debian with make-kpkg.
>
> Nevertheless, I finally got a working kernel and
> on the MyBook Live APM82181:
>
> ---
> root at mbl:/sys/kernel/debug# cat ppc4xx_ocm/info
> PPC4XX OCM : 1
> PhysAddr : 0x0000000400040000[p]
> MemTotal : 32768 Bytes
> MemTotal(NC) : 32768 Bytes
> MemTotal(C) : 0 Bytes
>
> NC.PhysAddr : 0x0000000400040000[p]
> NC.VirtAddr : 0x6bc84b36
> NC.MemTotal : 32768 Bytes
> NC.MemFree : 32768 Bytes
>
> C.PhysAddr : 0x0000000000000000[p]
> C.VirtAddr : 0x (null)
> C.MemTotal : 0 Bytes
> C.MemFree : 0 Bytes
Oh right, I'm an idiot :)
The docs say:
Physical address types phys_addr_t
----------------------------------
%pa[p] 0x01234567 or 0x0123456789abcdef
And if you grep for that there's eg:
drivers/ntb/test/ntb_tool.c: "Window Size \t%pa[p]\n",
So I just literally copied that.
But it's trying to indicate that the p is optional.
This should fix it, I won't merge it until you've tested it this time :)
cheers
diff --git a/arch/powerpc/platforms/4xx/ocm.c b/arch/powerpc/platforms/4xx/ocm.c
index a1aaa1569d7c..f0e488d97567 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 : %pa[p]\n", &(ocm->phys));
+ seq_printf(m, "PhysAddr : %pa\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 : %pa[p]\n", &(ocm->nc.phys));
+ seq_printf(m, "NC.PhysAddr : %pa\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 : %pa[p]\n", &(ocm->c.phys));
+ seq_printf(m, "\nC.PhysAddr : %pa\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);
More information about the Linuxppc-dev
mailing list