Re: [PATCH] fsi: master-ast-cf: use correct format string for size_t

From: Benjamin Herrenschmidt
Date: Tue Jul 24 2018 - 08:05:39 EST


On Tue, 2018-07-24 at 11:34 +0200, Arnd Bergmann wrote:
> On 32-bit targets, size_t is often 'unsigned int', so printing it as %lu
> causes a warning:
>
> drivers/fsi/fsi-master-ast-cf.c: In function 'fsi_master_acf_read':
> drivers/fsi/fsi-master-ast-cf.c:609:23: error: format '%u' expects argument of type 'unsigned int', but argument 6 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]
> dev_dbg(master->dev, "read id %d addr %x size %ud\n", id, addr, size);
> drivers/fsi/fsi-master-ast-cf.c: In function 'fsi_master_acf_write':
> drivers/fsi/fsi-master-ast-cf.c:634:23: error: format '%u' expects argument of type 'unsigned int', but argument 6 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]
>
> The correct format string is %zu.

Thanks Arnd, but I've already pushed such a fix in the fsi tree today
:)

Cheers,
Ben.

> Fixes: 6a794a27daca ("fsi: master-ast-cf: Add new FSI master using Aspeed ColdFire")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/fsi/fsi-master-ast-cf.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/fsi/fsi-master-ast-cf.c b/drivers/fsi/fsi-master-ast-cf.c
> index 57afaae0b691..d1bbdf8b8343 100644
> --- a/drivers/fsi/fsi-master-ast-cf.c
> +++ b/drivers/fsi/fsi-master-ast-cf.c
> @@ -606,7 +606,7 @@ static int fsi_master_acf_read(struct fsi_master *_master, int link,
> return -ENODEV;
>
> mutex_lock(&master->lock);
> - dev_dbg(master->dev, "read id %d addr %x size %ud\n", id, addr, size);
> + dev_dbg(master->dev, "read id %d addr %x size %zu\n", id, addr, size);
> build_ar_command(master, &cmd, id, addr, size, NULL);
> rc = fsi_master_acf_xfer(master, id, &cmd, size, val);
> last_address_update(master, id, rc == 0, addr);
> @@ -631,7 +631,7 @@ static int fsi_master_acf_write(struct fsi_master *_master, int link,
>
> mutex_lock(&master->lock);
> build_ar_command(master, &cmd, id, addr, size, val);
> - dev_dbg(master->dev, "write id %d addr %x size %ud raw_data: %08x\n",
> + dev_dbg(master->dev, "write id %d addr %x size %zu raw_data: %08x\n",
> id, addr, size, *(uint32_t *)val);
> rc = fsi_master_acf_xfer(master, id, &cmd, 0, NULL);
> last_address_update(master, id, rc == 0, addr);