From: Christian Lamparter <chunkeey@gmail.com>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: [1/2] powerpc/4xx/ocm: Fix phys_addr_t printf warnings
Date: Tue, 08 Jan 2019 18:21:23 +0100 [thread overview]
Message-ID: <1833028.0eqVQs4dtG@debian64> (raw)
In-Reply-To: <87ef9ntqy3.fsf@concordia.ellerman.id.au>
On Tuesday, January 8, 2019 10:54:28 AM CET Michael Ellerman wrote:
> Christian Lamparter <chunkeey@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@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@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);
Ok, with the patch applied it now looks like:
|root@mbl:/sys/kernel/debug/ppc4xx_ocm# cat info
|PPC4XX OCM : 1
|PhysAddr : 0x0000000400040000
|MemTotal : 32768 Bytes
|MemTotal(NC) : 32768 Bytes
|MemTotal(C) : 0 Bytes
|
|NC.PhysAddr : 0x0000000400040000
|NC.VirtAddr : 0x54f5bce2
|NC.MemTotal : 32768 Bytes
|NC.MemFree : 32768 Bytes
|
|C.PhysAddr : 0x0000000000000000
|C.VirtAddr : 0x (null)
|C.MemTotal : 0 Bytes
|C.MemFree : 0 Bytes
... just as expected. ;)
Thanks,
Christian
next prev parent reply other threads:[~2019-01-08 17:22 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-01 3:56 [PATCH 1/2] powerpc/4xx/ocm: Fix phys_addr_t printf warnings Michael Ellerman
2019-01-01 3:56 ` [PATCH 2/2] powerpc/configs: Add PPC4xx_OCM to ppc40x_defconfig Michael Ellerman
2019-01-01 16:52 ` [PATCH 1/2] powerpc/4xx/ocm: Fix phys_addr_t printf warnings LEROY Christophe
2019-01-02 11:12 ` Michael Ellerman
2019-01-02 11:31 ` [1/2] " Michael Ellerman
2019-01-04 20:46 ` Christian Lamparter
2019-01-08 9:54 ` Michael Ellerman
2019-01-08 17:21 ` Christian Lamparter [this message]
2019-01-11 13:10 ` Michael Ellerman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1833028.0eqVQs4dtG@debian64 \
--to=chunkeey@gmail.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=mpe@ellerman.id.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).