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@xxxxxxxxx> > Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@xxxxxxxxxxxxxxx> > --- > 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);