Re: [PATCH v2 09/20] media: si470x: fix printk warnings with clang

From: Joe Perches
Date: Mon Nov 29 2021 - 05:12:19 EST


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...