[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YtnDltqEVeJQQkbW@dev-arch.thelio-3990X>
Date: Thu, 21 Jul 2022 14:22:30 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: Justin Stitt <justinstitt@...gle.com>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Liam Girdwood <lgirdwood@...il.com>,
Peter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
Bard Liao <yung-chuan.liao@...ux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>,
Daniel Baluta <daniel.baluta@....com>,
Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Kai Vehmanen <kai.vehmanen@...ux.intel.com>,
Tom Rix <trix@...hat.com>,
sound-open-firmware@...a-project.org, alsa-devel@...a-project.org,
linux-kernel@...r.kernel.org, llvm@...ts.linux.dev
Subject: Re: [PATCH] soc: sof: fix clang -Wformat warnings
On Thu, Jul 21, 2022 at 02:12:18PM -0700, Justin Stitt wrote:
> When building with Clang we encounter these warnings:
> | sound/soc/sof/ipc3-topology.c:2343:4: error: format specifies type
> | 'unsigned char' but the argument has type 'int' [-Werror,-Wformat]
> | SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_PATCH);
> | ^~~~~~~~~~~~~~~^~~~~~~~~~~~~~~^~~~~~~~~~~~~
>
> Use correct format specifier `%d` since args are of type int.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/378
> Reported-by: Nathan Chancellor <nathan@...nel.org>
> Suggested-by: Nathan Chancellor <nathan@...nel.org>
> Signed-off-by: Justin Stitt <justinstitt@...gle.com>
Indeed, decimal integer literals with no suffix are of type 'int' when
they can fit in an 'int'. In this case, there shouldn't be a bug since
the values of these macros can fit in an 'unsigned char' (so no
truncation) but it is still correct to use '%d' instead of '%hhu', which
matches the stance of commit cbacb5ab0aa0 ("docs: printk-formats: Stop
encouraging use of unnecessary %h[xudi] and %hh[xudi]").
This was introduced by commit 323aa1f093e6 ("ASoC: SOF: Add a new IPC op
for parsing topology manifest"), not sure it warrants a fixes tag for
the reason I outlined above, but it might be helpful for other
reviewers.
Reviewed-by: Nathan Chancellor <nathan@...nel.org>
> ---
> Reported by Nathan here:
> https://lore.kernel.org/all/YtmrCJjQrSbv8Aj1@dev-arch.thelio-3990X/
>
> sound/soc/sof/ipc3-topology.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/soc/sof/ipc3-topology.c b/sound/soc/sof/ipc3-topology.c
> index b2cc046b9f60..65923e7a5976 100644
> --- a/sound/soc/sof/ipc3-topology.c
> +++ b/sound/soc/sof/ipc3-topology.c
> @@ -2338,7 +2338,7 @@ static int sof_ipc3_parse_manifest(struct snd_soc_component *scomp, int index,
> }
>
> dev_info(scomp->dev,
> - "Topology: ABI %d:%d:%d Kernel ABI %hhu:%hhu:%hhu\n",
> + "Topology: ABI %d:%d:%d Kernel ABI %d:%d:%d\n",
> man->priv.data[0], man->priv.data[1], man->priv.data[2],
> SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_PATCH);
>
> --
> 2.37.1.359.gd136c6c3e2-goog
>
Powered by blists - more mailing lists