On 1/25/23 13:46, Amadeusz Sławiński wrote:
Functions removing bytes, enum and mixer kcontrols are identical. Unify
they are identical because of the change in patch10.
Please clarify that this is not a cleanup removing duplicated code that's been there forever, it's become useless as a result of the previous patch.
them under one function and use it to free associated kcontrols.
Reviewed-by: Cezary Rojewski cezary.rojewski@intel.com Signed-off-by: Amadeusz Sławiński amadeuszx.slawinski@linux.intel.com
sound/soc/soc-topology.c | 48 +++++----------------------------------- 1 file changed, 6 insertions(+), 42 deletions(-)
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c index eb49037d86ae..e66b0d9e387a 100644 --- a/sound/soc/soc-topology.c +++ b/sound/soc/soc-topology.c @@ -350,41 +350,9 @@ static int soc_tplg_add_kcontrol(struct soc_tplg *tplg, tplg->dev, k, comp->name_prefix, comp, kcontrol); }
-/* remove a mixer kcontrol */ -static void soc_tplg_remove_mixer(struct snd_soc_component *comp,
- struct snd_soc_dobj *dobj, int pass)
-{
- struct snd_card *card = comp->card->snd_card;
- if (pass != SOC_TPLG_PASS_CONTROL)
return;
- if (dobj->unload)
dobj->unload(comp, dobj);
- snd_ctl_remove(card, dobj->control.kcontrol);
- list_del(&dobj->list);
-}
-/* remove an enum kcontrol */ -static void soc_tplg_remove_enum(struct snd_soc_component *comp,
- struct snd_soc_dobj *dobj, int pass)
-{
- struct snd_card *card = comp->card->snd_card;
- if (pass != SOC_TPLG_PASS_CONTROL)
return;
- if (dobj->unload)
dobj->unload(comp, dobj);
- snd_ctl_remove(card, dobj->control.kcontrol);
- list_del(&dobj->list);
-}
-/* remove a byte kcontrol */ -static void soc_tplg_remove_bytes(struct snd_soc_component *comp,
- struct snd_soc_dobj *dobj, int pass)
+/* remove kcontrol */ +static void soc_tplg_remove_kcontrol(struct snd_soc_component *comp, struct snd_soc_dobj *dobj,
int pass)
{ struct snd_card *card = comp->card->snd_card;
@@ -2626,14 +2594,10 @@ int snd_soc_tplg_component_remove(struct snd_soc_component *comp) list) {
switch (dobj->type) {
case SND_SOC_DOBJ_MIXER:
soc_tplg_remove_mixer(comp, dobj, pass);
break;
case SND_SOC_DOBJ_ENUM:
soc_tplg_remove_enum(comp, dobj, pass);
break; case SND_SOC_DOBJ_BYTES:
soc_tplg_remove_bytes(comp, dobj, pass);
case SND_SOC_DOBJ_ENUM:
case SND_SOC_DOBJ_MIXER:
soc_tplg_remove_kcontrol(comp, dobj, pass); break; case SND_SOC_DOBJ_GRAPH: soc_tplg_remove_route(comp, dobj, pass);