The pcm_id value is __le32 so convert it before passing to the dev_dbg
function to be printed. Also fixup some other uses of __le32 data and
a couple of places where %u should have been used instead of %d
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@codethink.co.uk>
Acked-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
---
v2: fix missing __le32 conversions
v3: further __le32 fixes for other header values
v4: fix signed-ness of printf formatting
---
sound/soc/sof/compress.c | 2 +-
sound/soc/sof/pcm.c | 2 +-
sound/soc/sof/topology.c | 12 ++++++------
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/sound/soc/sof/compress.c b/sound/soc/sof/compress.c
index c6c19df29035..3dbc05bf3b79 100644
--- a/sound/soc/sof/compress.c
+++ b/sound/soc/sof/compress.c
@@ -247,7 +247,7 @@ static int sof_compr_set_params(struct snd_soc_component *component,
ret = snd_sof_set_stream_data_offset(sdev, &spcm->stream[cstream->direction],
ipc_params_reply.posn_offset);
if (ret < 0) {
- dev_err(component->dev, "Invalid stream data offset for Compr %d\n",
+ dev_err(component->dev, "Invalid stream data offset for Compr %u\n",
le32_to_cpu(spcm->pcm.pcm_id));
goto out;
}
diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c
index d3af30398305..b2071edeaea6 100644
--- a/sound/soc/sof/pcm.c
+++ b/sound/soc/sof/pcm.c
@@ -360,7 +360,7 @@ static int sof_pcm_prepare(struct snd_soc_component *component,
platform_params = &spcm->platform_params[substream->stream];
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",
+ dev_err(sdev->dev, "failed widget list set up for pcm %d dir %u\n",
le32_to_cpu(spcm->pcm.pcm_id), dir);
spcm->stream[dir].list = NULL;
snd_soc_dapm_dai_free_widgets(&list);
diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
index 63d637db7053..907f9b1e9d1b 100644
--- a/sound/soc/sof/topology.c
+++ b/sound/soc/sof/topology.c
@@ -775,7 +775,7 @@ static int sof_parse_token_sets(struct snd_soc_component *scomp,
array);
break;
default:
- dev_err(scomp->dev, "error: unknown token type %d\n",
+ dev_err(scomp->dev, "error: unknown token type %u\n",
le32_to_cpu(array->type));
return -EINVAL;
}
@@ -880,7 +880,7 @@ static int sof_control_load_volume(struct snd_soc_component *scomp,
ARRAY_SIZE(led_tokens), mc->priv.array,
le32_to_cpu(mc->priv.size));
if (ret != 0) {
- dev_err(scomp->dev, "error: parse led tokens failed %d\n",
+ dev_err(scomp->dev, "error: parse led tokens failed %u\n",
le32_to_cpu(mc->priv.size));
goto err;
}
@@ -970,7 +970,7 @@ static int sof_control_load(struct snd_soc_component *scomp, int index,
struct snd_sof_control *scontrol;
int ret;
- dev_dbg(scomp->dev, "tplg: load control type %d name : %s\n",
+ dev_dbg(scomp->dev, "tplg: load control type %u name : %s\n",
le32_to_cpu(hdr->type), hdr->name);
scontrol = kzalloc_obj(*scontrol);
@@ -1015,7 +1015,7 @@ static int sof_control_load(struct snd_soc_component *scomp, int index,
case SND_SOC_TPLG_DAPM_CTL_ENUM_VALUE:
case SND_SOC_TPLG_DAPM_CTL_PIN:
default:
- dev_warn(scomp->dev, "control type not supported %d:%d:%d\n",
+ dev_warn(scomp->dev, "control type not supported %u:%u:%u\n",
le32_to_cpu(hdr->ops.get),
le32_to_cpu(hdr->ops.put),
le32_to_cpu(hdr->ops.info));
@@ -1525,7 +1525,7 @@ static int sof_widget_ready(struct snd_soc_component *scomp, int index,
break;
case snd_soc_dapm_pga:
if (!le32_to_cpu(tw->num_kcontrols)) {
- dev_err(scomp->dev, "invalid kcontrol count %d for volume\n",
+ dev_err(scomp->dev, "invalid kcontrol count %u for volume\n",
le32_to_cpu(tw->num_kcontrols));
ret = -EINVAL;
break;
@@ -1774,7 +1774,7 @@ static int sof_dai_load(struct snd_soc_component *scomp, int index,
ARRAY_SIZE(stream_tokens), private->array,
le32_to_cpu(private->size));
if (ret) {
- dev_err(scomp->dev, "error: parse stream tokens failed %d\n",
+ dev_err(scomp->dev, "error: parse stream tokens failed %u\n",
le32_to_cpu(private->size));
return ret;
}
--
2.37.2.352.g3c44437643
On Tue, 24 Mar 2026 13:34:03 +0000, Ben Dooks wrote:
> ASoC: SOF: sof-audio: pcm_id is __le32
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-7.1
Thanks!
[1/1] ASoC: SOF: sof-audio: pcm_id is __le32
https://git.kernel.org/broonie/sound/c/4478886310e5
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
© 2016 - 2026 Red Hat, Inc.