2021-11-29 09:50:24

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: [PATCH v2 09/20] media: si470x: fix printk warnings with clang

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

Reviewed-by: Nathan Chancellor <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
---

See [PATCH v2 00/20] at: https://lore.kernel.org/all/[email protected]/

drivers/media/radio/si470x/radio-si470x-i2c.c | 4 ++--
drivers/media/radio/si470x/radio-si470x-usb.c | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/media/radio/si470x/radio-si470x-i2c.c b/drivers/media/radio/si470x/radio-si470x-i2c.c
index a972c0705ac7..7ea7c6326f53 100644
--- 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);
version_warning = 1;
}
diff --git a/drivers/media/radio/si470x/radio-si470x-usb.c b/drivers/media/radio/si470x/radio-si470x-usb.c
index 3f8634a46573..1e70e6971fe4 100644
--- a/drivers/media/radio/si470x/radio-si470x-usb.c
+++ b/drivers/media/radio/si470x/radio-si470x-usb.c
@@ -681,10 +681,10 @@ static int si470x_usb_driver_probe(struct usb_interface *intf,
radio->registers[DEVICEID], radio->registers[SI_CHIPID]);
if ((radio->registers[SI_CHIPID] & SI_CHIPID_FIRMWARE) < RADIO_FW_VERSION) {
dev_warn(&intf->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(&intf->dev,
- "but the device has firmware version %hu.\n",
+ "but the device has firmware version %u.\n",
radio->registers[SI_CHIPID] & SI_CHIPID_FIRMWARE);
version_warning = 1;
}
@@ -698,10 +698,10 @@ static int si470x_usb_driver_probe(struct usb_interface *intf,
radio->software_version, radio->hardware_version);
if (radio->hardware_version < RADIO_HW_VERSION) {
dev_warn(&intf->dev,
- "This driver is known to work with hardware version %hu,\n",
+ "This driver is known to work with hardware version %u,\n",
RADIO_HW_VERSION);
dev_warn(&intf->dev,
- "but the device has hardware version %hu.\n",
+ "but the device has hardware version %u.\n",
radio->hardware_version);
version_warning = 1;
}
--
2.33.1



2021-11-29 10:12:19

by Joe Perches

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

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



2021-11-29 11:42:43

by Mauro Carvalho Chehab

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

Em Mon, 29 Nov 2021 02:10:14 -0800
Joe Perches <[email protected]> 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