
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@kernel.org Suggested-by: Nathan Chancellor nathan@kernel.org Signed-off-by: Justin Stitt justinstitt@google.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@kernel.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",
man->priv.data[0], man->priv.data[1], man->priv.data[2], SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_PATCH);"Topology: ABI %d:%d:%d Kernel ABI %d:%d:%d\n",
-- 2.37.1.359.gd136c6c3e2-goog