[PATCH v2] ASoC: SOF: sof-audio: pcm_id is __le32

From: Ben Dooks

Date: Tue Mar 10 2026 - 07:45:12 EST


The pcm_id value is __le32 so convert it before passing to the dev_dbg
function to be printed. Picked up by sparse prototype for variadic and printf
function checking.

Fixes a large number of sparse warnings, such as:

sound/soc/sof/pcm.c:84:25: warning: incorrect type in argument 4 (different base types)
sound/soc/sof/pcm.c:84:25: expected unsigned int
sound/soc/sof/pcm.c:84:25: got restricted __le32 [usertype] pcm_id

Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
---
v2: fix missing __le32 conversions
---
sound/soc/sof/pcm.c | 4 ++--
sound/soc/sof/sof-audio.h | 11 +++++++----
2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c
index 5b598d0940eb..16c194b4851b 100644
--- a/sound/soc/sof/pcm.c
+++ b/sound/soc/sof/pcm.c
@@ -361,7 +361,7 @@ static int sof_pcm_prepare(struct snd_soc_component *component,
ret = sof_widget_list_setup(sdev, spcm, params, platform_params, dir);
if (ret < 0) {
dev_err(sdev->dev, "failed widget list set up for pcm %d dir %d\n",
- spcm->pcm.pcm_id, dir);
+ le32_to_cpu(spcm->pcm.pcm_id), dir);
spcm->stream[dir].list = NULL;
snd_soc_dapm_dai_free_widgets(&list);
return ret;
@@ -652,7 +652,7 @@ static int sof_pcm_new(struct snd_soc_component *component,
}

dev_dbg(spcm->scomp->dev, "pcm%u (%s): Entry: pcm_construct\n",
- spcm->pcm.pcm_id, spcm->pcm.pcm_name);
+ le32_to_cpu(spcm->pcm.pcm_id), spcm->pcm.pcm_name);

/* do we need to pre-allocate playback audio buffer pages */
if (!spcm->pcm.playback)
diff --git a/sound/soc/sof/sof-audio.h b/sound/soc/sof/sof-audio.h
index 36082e764bf9..cf6499464a64 100644
--- a/sound/soc/sof/sof-audio.h
+++ b/sound/soc/sof/sof-audio.h
@@ -641,17 +641,20 @@ void snd_sof_pcm_init_elapsed_work(struct work_struct *work);
*/
#define spcm_dbg(__spcm, __dir, __fmt, ...) \
dev_dbg((__spcm)->scomp->dev, "pcm%u (%s), dir %d: " __fmt, \
- (__spcm)->pcm.pcm_id, (__spcm)->pcm.pcm_name, __dir, \
+ le32_to_cpu((__spcm)->pcm.pcm_id), \
+ (__spcm)->pcm.pcm_name, __dir, \
##__VA_ARGS__)

#define spcm_dbg_ratelimited(__spcm, __dir, __fmt, ...) \
dev_dbg_ratelimited((__spcm)->scomp->dev, "pcm%u (%s), dir %d: " __fmt, \
- (__spcm)->pcm.pcm_id, (__spcm)->pcm.pcm_name, __dir, \
- ##__VA_ARGS__)
+ le32_to_cpu((__spcm)->pcm.pcm_id), \
+ (__spcm)->pcm.pcm_name, __dir, \
+ ##__VA_ARGS__)

#define spcm_err(__spcm, __dir, __fmt, ...) \
dev_err((__spcm)->scomp->dev, "%s: pcm%u (%s), dir %d: " __fmt, \
- __func__, (__spcm)->pcm.pcm_id, (__spcm)->pcm.pcm_name, __dir, \
+ __func__, le32_to_cpu((__spcm)->pcm.pcm_id) \
+ , (__spcm)->pcm.pcm_name, __dir, \
##__VA_ARGS__)

#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMPRESS)
--
2.37.2.352.g3c44437643