]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: SOF: sof-audio: pcm_id is __le32
authorBen Dooks <ben.dooks@codethink.co.uk>
Tue, 10 Mar 2026 12:51:06 +0000 (12:51 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 10 Mar 2026 14:53:04 +0000 (14:53 +0000)
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>
Link: https://patch.msgid.link/20260310125106.178944-1-ben.dooks@codethink.co.uk
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/compress.c
sound/soc/sof/ipc4-topology.c
sound/soc/sof/pcm.c
sound/soc/sof/sof-audio.h
sound/soc/sof/topology.c

index 96570121aae01b39821f3ac83c1c3c0d6c664cf0..c6c19df290355b9b4df1429ce2477679ee0453d1 100644 (file)
@@ -248,7 +248,7 @@ static int sof_compr_set_params(struct snd_soc_component *component,
                                             ipc_params_reply.posn_offset);
        if (ret < 0) {
                dev_err(component->dev, "Invalid stream data offset for Compr %d\n",
-                       spcm->pcm.pcm_id);
+                       le32_to_cpu(spcm->pcm.pcm_id));
                goto out;
        }
 
index db077e9d56445ae8d65abaa3e8b1db16a03ad6b1..82f1e44a145ead13a8ac6e575df607a0de3c9640 100644 (file)
@@ -581,6 +581,7 @@ sof_ipc4_update_card_components_string(struct snd_sof_widget *swidget,
        struct snd_soc_component *scomp = spcm->scomp;
        struct snd_soc_card *card = scomp->card;
        const char *pt_marker = "iec61937-pcm";
+       unsigned pcm_id = le32_to_cpu(spcm->pcm.pcm_id);
 
        /*
         * Update the card's components list with iec61937-pcm and a list of PCM
@@ -595,21 +596,21 @@ sof_ipc4_update_card_components_string(struct snd_sof_widget *swidget,
 
                if (strstr(card->components, pt_marker))
                        card->components = devm_kasprintf(card->dev, GFP_KERNEL,
-                                                         "%s,%d",
+                                                         "%s,%u",
                                                          card->components,
-                                                         spcm->pcm.pcm_id);
+                                                         pcm_id);
                else
                        card->components = devm_kasprintf(card->dev, GFP_KERNEL,
-                                                         "%s %s:%d",
+                                                         "%s %s:%u",
                                                          card->components,
                                                          pt_marker,
-                                                         spcm->pcm.pcm_id);
+                                                         pcm_id);
 
                devm_kfree(card->dev, tmp);
        } else {
                card->components = devm_kasprintf(card->dev, GFP_KERNEL,
-                                                 "%s:%d", pt_marker,
-                                                 spcm->pcm.pcm_id);
+                                                 "%s:%u", pt_marker,
+                                                 pcm_id);
        }
 
        if (!card->components)
index 5b598d0940eb4d6ade075c6d076ffe6d3a7224fa..16c194b4851b9fb2ee415a1fa2173deb326de883 100644 (file)
@@ -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)
index 36082e764bf99ebc00e072e9cb6cb74db47674b5..80b11625915ddf7a5fd1cf0d281a9363bdc2b40e 100644 (file)
@@ -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)
index 18e2401152c816afe15969d0f5eed66114a8436f..2740f24cd1d392a335db9fe6d39fda43dc3c2ff0 100644 (file)
@@ -776,7 +776,7 @@ static int sof_parse_token_sets(struct snd_soc_component *scomp,
                        break;
                default:
                        dev_err(scomp->dev, "error: unknown token type %d\n",
-                               array->type);
+                               le32_to_cpu(array->type));
                        return -EINVAL;
                }
 
@@ -971,7 +971,7 @@ static int sof_control_load(struct snd_soc_component *scomp, int index,
        int ret;
 
        dev_dbg(scomp->dev, "tplg: load control type %d name : %s\n",
-               hdr->type, hdr->name);
+               le32_to_cpu(hdr->type), hdr->name);
 
        scontrol = kzalloc_obj(*scontrol);
        if (!scontrol)
@@ -1016,7 +1016,9 @@ static int sof_control_load(struct snd_soc_component *scomp, int index,
        case SND_SOC_TPLG_DAPM_CTL_PIN:
        default:
                dev_warn(scomp->dev, "control type not supported %d:%d:%d\n",
-                        hdr->ops.get, hdr->ops.put, hdr->ops.info);
+                        le32_to_cpu(hdr->ops.get),
+                        le32_to_cpu(hdr->ops.put),
+                        le32_to_cpu(hdr->ops.info));
                kfree(scontrol->name);
                kfree(scontrol);
                return 0;
@@ -1524,7 +1526,7 @@ static int sof_widget_ready(struct snd_soc_component *scomp, int index,
        case snd_soc_dapm_pga:
                if (!le32_to_cpu(tw->num_kcontrols)) {
                        dev_err(scomp->dev, "invalid kcontrol count %d for volume\n",
-                               tw->num_kcontrols);
+                               le32_to_cpu(tw->num_kcontrols));
                        ret = -EINVAL;
                        break;
                }