Re: [PATCH] parisc: Use proper printk format for resource_size_t

From: Helge Deller
Date: Tue Jan 14 2020 - 03:27:47 EST


On 03.01.20 17:39, Krzysztof Kozlowski wrote:
> resource_size_t should be printed with its own size-independent format
> to fix warnings when compiling on 64-bit platform (e.g. with
> COMPILE_TEST):
>
> arch/parisc/kernel/drivers.c: In function 'print_parisc_device':
> arch/parisc/kernel/drivers.c:892:9: warning:
> format '%p' expects argument of type 'void *',
> but argument 4 has type 'resource_size_t {aka unsigned int}' [-Wformat=]
>
> Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> ---
> arch/parisc/kernel/drivers.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c
> index a6c9f49c6612..a154de424421 100644
> --- a/arch/parisc/kernel/drivers.c
> +++ b/arch/parisc/kernel/drivers.c
> @@ -889,8 +889,8 @@ static void print_parisc_device(struct parisc_device *dev)
> static int count;
>
> print_pa_hwpath(dev, hw_path);
> - pr_info("%d. %s at 0x%px [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }",
> - ++count, dev->name, (void*) dev->hpa.start, hw_path, dev->id.hw_type,
> + pr_info("%d. %s at %pa[p] [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }",

It needs to be %pap instead of %pa[p].
The documentation in Documentation/core-api/printk-formats.rst is correct, but misleading.
I corrected & applied it.
Thanks!


Helge


> + ++count, dev->name, &(dev->hpa.start), hw_path, dev->id.hw_type,
> dev->id.hversion_rev, dev->id.hversion, dev->id.sversion);
>
> if (dev->num_addrs) {
>