Re: [PATCH] soc: qcom: smem: use correct format characters
From: Justin Stitt
Date: Fri Jun 03 2022 - 17:03:57 EST
On Mon, Mar 21, 2022 at 10:49:12AM -0700, Bill Wendling wrote:
> When compiling with -Wformat, clang emits the following warnings:
>
> drivers/soc/qcom/smem.c:847:41: warning: format specifies type 'unsigned
> short' but the argument has type 'unsigned int' [-Wformat]
> dev_err(smem->dev, "bad host %hu\n", remote_host);
> ~~~ ^~~~~~~~~~~
> %u
> ./include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
> dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~ ^~~~~~~~~~~
> ./include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ~~~ ^~~~~~~~~~~
> drivers/soc/qcom/smem.c:852:47: warning: format specifies type 'unsigned
> short' but the argument has type 'unsigned int' [-Wformat]
> dev_err(smem->dev, "duplicate host %hu\n", remote_host);
> ~~~ ^~~~~~~~~~~
> %u
> ./include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
> dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
> ~~~ ^~~~~~~~~~~
> ./include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
> _p_func(dev, fmt, ##__VA_ARGS__); \
> ~~~ ^~~~~~~~~~~
>
> The types of these arguments are unconditionally defined, so this patch
> updates the format character to the correct one and change type of
> remote_host to "u16" to match with other types.
>
This patch LGTM and fixes -Wformat warning.
Tested-by: Justin Stitt <jstitt007@xxxxxxxxx>
Reviewed-by: Justin Stitt <jstitt007@xxxxxxxxx>
> Link: https://github.com/ClangBuiltLinux/linux/issues/378
> Signed-off-by: Bill Wendling <morbo@xxxxxxxxxx>
> ---
> drivers/soc/qcom/smem.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c
> index e2057d8f1eff..9dd325df5682 100644
> --- a/drivers/soc/qcom/smem.c
> +++ b/drivers/soc/qcom/smem.c
> @@ -819,7 +819,7 @@ qcom_smem_enumerate_partitions(struct qcom_smem *smem, u16 local_host)
> struct smem_partition_header *header;
> struct smem_ptable_entry *entry;
> struct smem_ptable *ptable;
> - unsigned int remote_host;
> + u16 remote_host;
> u16 host0, host1;
> int i;
>
> @@ -844,12 +844,12 @@ qcom_smem_enumerate_partitions(struct qcom_smem *smem, u16 local_host)
> continue;
>
> if (remote_host >= SMEM_HOST_COUNT) {
> - dev_err(smem->dev, "bad host %hu\n", remote_host);
> + dev_err(smem->dev, "bad host %u\n", remote_host);
> return -EINVAL;
> }
>
> if (smem->partitions[remote_host]) {
> - dev_err(smem->dev, "duplicate host %hu\n", remote_host);
> + dev_err(smem->dev, "duplicate host %u\n", remote_host);
> return -EINVAL;
> }
>
> --
> 2.35.1.894.gb6a874cedc-goog
>
>