Re: [PATCH v2 09/20] media: si470x: fix printk warnings with clang
From: Mauro Carvalho Chehab
Date: Mon Nov 29 2021 - 06:42:42 EST
Em Mon, 29 Nov 2021 02:10:14 -0800
Joe Perches <joe@xxxxxxxxxxx> escreveu:
> On Mon, 2021-11-29 at 10:47 +0100, Mauro Carvalho Chehab wrote:
> > Clang doesn't like "%hu" on macros:
> >
> > drivers/media/radio/si470x/radio-si470x-i2c.c:414:4: error: format specifies type 'unsigned short' but the argument has type 'int' [-Werror,-Wformat]
> > drivers/media/radio/si470x/radio-si470x-i2c.c:417:4: error: format specifies type 'unsigned short' but the argument has type 'int' [-Werror,-Wformat]
> >
> > Besides that, changeset cbacb5ab0aa0 ("docs: printk-formats: Stop encouraging use of unnecessary %h[xudi] and %hh[xudi]")
> > dropped recomendation of using %h.
> >
> > So, just replace them with "%u".
>
> And perhaps change these to single dev_warn calls instead of multiple calls.
>
> > diff --git a/drivers/media/radio/si470x/radio-si470x-i2c.c b/drivers/media/radio/si470x/radio-si470x-i2c.c
> []
> > @@ -410,10 +410,10 @@ static int si470x_i2c_probe(struct i2c_client *client)
> > radio->registers[DEVICEID], radio->registers[SI_CHIPID]);
> > if ((radio->registers[SI_CHIPID] & SI_CHIPID_FIRMWARE) < RADIO_FW_VERSION) {
> > dev_warn(&client->dev,
> > - "This driver is known to work with firmware version %hu,\n",
> > + "This driver is known to work with firmware version %u,\n",
> > RADIO_FW_VERSION);
> > dev_warn(&client->dev,
> > - "but the device has firmware version %hu.\n",
> > + "but the device has firmware version %u.\n",
> > radio->registers[SI_CHIPID] & SI_CHIPID_FIRMWARE);
>
> dev_warn(&client->dev,
> "This driver is known to work with firmware version %u, but the device has firmware version %u\n",
> RADIO_FW_VERSION, radio->registers[SI_CHIPID] & SI_CHIPID_FIRMWARE);
>
> etc...
>
>
Good idea. As this will touch on other things, I'll submit it on a
separate patch.
Regards,
Mauro
Thanks,
Mauro