]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ASoC: topology: Align dynamic object initialization for controls
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Thu, 27 Jun 2024 10:18:45 +0000 (12:18 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 2 Jul 2024 13:27:03 +0000 (14:27 +0100)
soc_tplg_dbytes_create() missed se->dobj.index initialization, so add it
there. Additionally separate dynamic object initialization into separate
logical block code.

Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://patch.msgid.link/20240627101850.2191513-9-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-topology.c

index e6eb514de56970c3f8d9f7aadd178f0ef74aa86b..72bd3823a0154cee6f5a3a49109b0443f586a770 100644 (file)
@@ -677,10 +677,12 @@ static int soc_tplg_dbytes_create(struct soc_tplg *tplg, size_t size)
        kc.access = le32_to_cpu(be->hdr.access);
 
        sbe->max = le32_to_cpu(be->max);
+
+       INIT_LIST_HEAD(&sbe->dobj.list);
        sbe->dobj.type = SND_SOC_DOBJ_BYTES;
+       sbe->dobj.index = tplg->index;
        if (tplg->ops)
                sbe->dobj.unload = tplg->ops->control_unload;
-       INIT_LIST_HEAD(&sbe->dobj.list);
 
        /* map io handlers */
        ret = soc_tplg_kcontrol_bind_io(&be->hdr, &kc, tplg);
@@ -750,11 +752,12 @@ static int soc_tplg_dmixer_create(struct soc_tplg *tplg, size_t size)
        sm->min = le32_to_cpu(mc->min);
        sm->invert = le32_to_cpu(mc->invert);
        sm->platform_max = le32_to_cpu(mc->platform_max);
-       sm->dobj.index = tplg->index;
+
+       INIT_LIST_HEAD(&sm->dobj.list);
        sm->dobj.type = SND_SOC_DOBJ_MIXER;
+       sm->dobj.index = tplg->index;
        if (tplg->ops)
                sm->dobj.unload = tplg->ops->control_unload;
-       INIT_LIST_HEAD(&sm->dobj.list);
 
        /* map io handlers */
        ret = soc_tplg_kcontrol_bind_io(&mc->hdr, &kc, tplg);
@@ -894,11 +897,12 @@ static int soc_tplg_denum_create(struct soc_tplg *tplg, size_t size)
                SNDRV_CHMAP_FR);
 
        se->mask = le32_to_cpu(ec->mask);
-       se->dobj.index = tplg->index;
+
+       INIT_LIST_HEAD(&se->dobj.list);
        se->dobj.type = SND_SOC_DOBJ_ENUM;
+       se->dobj.index = tplg->index;
        if (tplg->ops)
                se->dobj.unload = tplg->ops->control_unload;
-       INIT_LIST_HEAD(&se->dobj.list);
 
        switch (le32_to_cpu(ec->hdr.ops.info)) {
        case SND_SOC_TPLG_DAPM_CTL_ENUM_VALUE: