2021-03-22 11:57:53

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] platform/chrome: cros_ec_typec: fix clang -Wformat warning

From: Arnd Bergmann <[email protected]>

Clang warns about using the %h format modifier to truncate an
integer:

drivers/platform/chrome/cros_ec_typec.c:1031:3: error: format specifies type 'unsigned char' but the argument has type 'unsigned int' [-Werror,-Wformat]
typec->pd_ctrl_ver);
^~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:131:47: note: expanded from macro 'dev_dbg'
dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__); \
~~~ ^~~~~~~~~~~

Use an explicit bit mask to limit the number to its lower eight bits
instead.

Fixes: ad7c0510c99e ("platform/chrome: cros_ec_typec: Update port info from EC")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/platform/chrome/cros_ec_typec.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index 0811562deecc..f07b7e946560 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -1027,8 +1027,8 @@ static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
else
typec->pd_ctrl_ver = 0;

- dev_dbg(typec->dev, "PD Control has version mask 0x%hhx\n",
- typec->pd_ctrl_ver);
+ dev_dbg(typec->dev, "PD Control has version mask 0x%02x\n",
+ typec->pd_ctrl_ver & 0xff);

return 0;
}
--
2.29.2


2021-03-22 14:17:21

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH] platform/chrome: cros_ec_typec: fix clang -Wformat warning

On Mon, Mar 22, 2021 at 4:56 AM Arnd Bergmann <[email protected]> wrote:
>
> From: Arnd Bergmann <[email protected]>
>
> Clang warns about using the %h format modifier to truncate an
> integer:
>
> drivers/platform/chrome/cros_ec_typec.c:1031:3: error: format specifies type 'unsigned char' but the argument has type 'unsigned int' [-Werror,-Wformat]
> typec->pd_ctrl_ver);
> ^~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:131:47: note: expanded from macro 'dev_dbg'
> dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__); \
> ~~~ ^~~~~~~~~~~
>
> Use an explicit bit mask to limit the number to its lower eight bits
> instead.
>
> Fixes: ad7c0510c99e ("platform/chrome: cros_ec_typec: Update port info from EC")
> Signed-off-by: Arnd Bergmann <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

>
> ---
> drivers/platform/chrome/cros_ec_typec.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
> index 0811562deecc..f07b7e946560 100644
> --- a/drivers/platform/chrome/cros_ec_typec.c
> +++ b/drivers/platform/chrome/cros_ec_typec.c
> @@ -1027,8 +1027,8 @@ static int cros_typec_get_cmd_version(struct cros_typec_data *typec)
> else
> typec->pd_ctrl_ver = 0;
>
> - dev_dbg(typec->dev, "PD Control has version mask 0x%hhx\n",
> - typec->pd_ctrl_ver);
> + dev_dbg(typec->dev, "PD Control has version mask 0x%02x\n",
> + typec->pd_ctrl_ver & 0xff);
>
> return 0;
> }
> --
> 2.29.2
>

2021-03-31 07:41:37

by Enric Balletbo i Serra

[permalink] [raw]
Subject: Re: [PATCH] platform/chrome: cros_ec_typec: fix clang -Wformat warning

On Mon, 22 Mar 2021 12:55:55 +0100, Arnd Bergmann wrote:
> Clang warns about using the %h format modifier to truncate an
> integer:
>
> drivers/platform/chrome/cros_ec_typec.c:1031:3: error: format specifies type 'unsigned char' but the argument has type 'unsigned int' [-Werror,-Wformat]
> typec->pd_ctrl_ver);
> ^~~~~~~~~~~~~~~~~~
> include/linux/dev_printk.h:131:47: note: expanded from macro 'dev_dbg'
> dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__); \
> ~~~ ^~~~~~~~~~~
>
> [...]

Applied, thanks!

[1/1] platform/chrome: cros_ec_typec: fix clang -Wformat warning
commit: c6e939c63c80c26460b25cf1150ebe8396e8adcf

Best regards,
--
Enric Balletbo i Serra <[email protected]>