2021-04-21 18:32:37

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] EDAC/aspeed: use proper format string for printing resource

From: Arnd Bergmann <[email protected]>

On ARMv7, resource_size_t can be 64-bit, which breaks printing
it as %x:

drivers/edac/aspeed_edac.c: In function 'init_csrows':
drivers/edac/aspeed_edac.c:257:28: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'resource_size_t' {aka 'long long unsigned int'} [-Werror=format=]
257 | dev_dbg(mci->pdev, "dt: /memory node resources: first page r.start=0x%x, resource_size=0x%x, PAGE_SHIFT macro=0x%x\n",

Use the special %pR format string to pretty-print the entire
resource instead.

Fixes: edfc2d73ca45 ("EDAC/aspeed: Add support for AST2400 and AST2600")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/edac/aspeed_edac.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/edac/aspeed_edac.c b/drivers/edac/aspeed_edac.c
index a46da56d6d54..6bd5f8815919 100644
--- a/drivers/edac/aspeed_edac.c
+++ b/drivers/edac/aspeed_edac.c
@@ -254,8 +254,8 @@ static int init_csrows(struct mem_ctl_info *mci)
return rc;
}

- dev_dbg(mci->pdev, "dt: /memory node resources: first page r.start=0x%x, resource_size=0x%x, PAGE_SHIFT macro=0x%x\n",
- r.start, resource_size(&r), PAGE_SHIFT);
+ dev_dbg(mci->pdev, "dt: /memory node resources: first page %pR, PAGE_SHIFT macro=0x%x\n",
+ &r, PAGE_SHIFT);

csrow->first_page = r.start >> PAGE_SHIFT;
nr_pages = resource_size(&r) >> PAGE_SHIFT;
--
2.29.2


2021-04-27 02:24:05

by Andrew Jeffery

[permalink] [raw]
Subject: Re: [PATCH] EDAC/aspeed: use proper format string for printing resource



On Wed, 21 Apr 2021, at 23:24, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> On ARMv7, resource_size_t can be 64-bit, which breaks printing
> it as %x:
>
> drivers/edac/aspeed_edac.c: In function 'init_csrows':
> drivers/edac/aspeed_edac.c:257:28: error: format '%x' expects argument
> of type 'unsigned int', but argument 4 has type 'resource_size_t' {aka
> 'long long unsigned int'} [-Werror=format=]
> 257 | dev_dbg(mci->pdev, "dt: /memory node resources: first
> page r.start=0x%x, resource_size=0x%x, PAGE_SHIFT macro=0x%x\n",
>
> Use the special %pR format string to pretty-print the entire
> resource instead.
>
> Fixes: edfc2d73ca45 ("EDAC/aspeed: Add support for AST2400 and AST2600")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/edac/aspeed_edac.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/edac/aspeed_edac.c b/drivers/edac/aspeed_edac.c
> index a46da56d6d54..6bd5f8815919 100644
> --- a/drivers/edac/aspeed_edac.c
> +++ b/drivers/edac/aspeed_edac.c
> @@ -254,8 +254,8 @@ static int init_csrows(struct mem_ctl_info *mci)
> return rc;
> }
>
> - dev_dbg(mci->pdev, "dt: /memory node resources: first page
> r.start=0x%x, resource_size=0x%x, PAGE_SHIFT macro=0x%x\n",
> - r.start, resource_size(&r), PAGE_SHIFT);
> + dev_dbg(mci->pdev, "dt: /memory node resources: first page %pR, PAGE_SHIFT macro=0x%x\n",

Could probably drop the "first page " as well, but it's a dev_dbg() and not a big deal.

Reviewed-by: Andrew Jeffery <[email protected]>

2021-05-19 18:18:45

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] EDAC/aspeed: use proper format string for printing resource

On Wed, Apr 21, 2021 at 03:54:53PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> On ARMv7, resource_size_t can be 64-bit, which breaks printing
> it as %x:
>
> drivers/edac/aspeed_edac.c: In function 'init_csrows':
> drivers/edac/aspeed_edac.c:257:28: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'resource_size_t' {aka 'long long unsigned int'} [-Werror=format=]
> 257 | dev_dbg(mci->pdev, "dt: /memory node resources: first page r.start=0x%x, resource_size=0x%x, PAGE_SHIFT macro=0x%x\n",
>
> Use the special %pR format string to pretty-print the entire
> resource instead.
>
> Fixes: edfc2d73ca45 ("EDAC/aspeed: Add support for AST2400 and AST2600")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/edac/aspeed_edac.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/edac/aspeed_edac.c b/drivers/edac/aspeed_edac.c
> index a46da56d6d54..6bd5f8815919 100644
> --- a/drivers/edac/aspeed_edac.c
> +++ b/drivers/edac/aspeed_edac.c
> @@ -254,8 +254,8 @@ static int init_csrows(struct mem_ctl_info *mci)
> return rc;
> }
>
> - dev_dbg(mci->pdev, "dt: /memory node resources: first page r.start=0x%x, resource_size=0x%x, PAGE_SHIFT macro=0x%x\n",
> - r.start, resource_size(&r), PAGE_SHIFT);
> + dev_dbg(mci->pdev, "dt: /memory node resources: first page %pR, PAGE_SHIFT macro=0x%x\n",
> + &r, PAGE_SHIFT);
>
> csrow->first_page = r.start >> PAGE_SHIFT;
> nr_pages = resource_size(&r) >> PAGE_SHIFT;
> --

Applied, thanks.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette