2021-05-15 14:24:16

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] sata: fsl: fix DPRINTK format string

From: Arnd Bergmann <[email protected]>

Printing an __iomem pointer as %x produces a warning:

drivers/ata/sata_fsl.c: In function 'fsl_sata_set_irq_coalescing':
drivers/ata/sata_fsl.c:316:17: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'void *' [-Werror=format=]
316 | DPRINTK("ICC register status: (hcr base: 0x%x) = 0x%x\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
317 | hcr_base, ioread32(hcr_base + ICC));
| ~~~~~~~~
| |
| void *

It's not clear why that pointer should be printed here, but if we do,
then using %p is the way to avoid the warnings.

Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/ata/sata_fsl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index d55ee244d693..e5838b23c9e0 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -313,7 +313,7 @@ static void fsl_sata_set_irq_coalescing(struct ata_host *host,

DPRINTK("interrupt coalescing, count = 0x%x, ticks = %x\n",
intr_coalescing_count, intr_coalescing_ticks);
- DPRINTK("ICC register status: (hcr base: 0x%x) = 0x%x\n",
+ DPRINTK("ICC register status: (hcr base: %p) = 0x%x\n",
hcr_base, ioread32(hcr_base + ICC));
}

--
2.29.2



2021-05-18 19:22:17

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] sata: fsl: fix DPRINTK format string

On 5/14/21 3:33 PM, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> Printing an __iomem pointer as %x produces a warning:
>
> drivers/ata/sata_fsl.c: In function 'fsl_sata_set_irq_coalescing':
> drivers/ata/sata_fsl.c:316:17: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'void *' [-Werror=format=]
> 316 | DPRINTK("ICC register status: (hcr base: 0x%x) = 0x%x\n",
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 317 | hcr_base, ioread32(hcr_base + ICC));
> | ~~~~~~~~
> | |
> | void *
>
> It's not clear why that pointer should be printed here, but if we do,
> then using %p is the way to avoid the warnings.

Applied, thanks.

--
Jens Axboe