[PATCH 11/11] ASoC: topology: Unify kcontrol removal code
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Wed Jan 25 16:15:15 CET 2023
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 at intel.com>
> Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski at 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);
More information about the Alsa-devel
mailing list