ASoC: topology: Remove unused functions from topology API
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Fri, 30 Oct 2020 14:54:22 +0000 (10:54 -0400)
committerMark Brown <broonie@kernel.org>
Wed, 4 Nov 2020 17:51:04 +0000 (17:51 +0000)
Topology API exposes snd_soc_tplg_widget_remove and
snd_soc_tplg_widget_remove_all, but both are nowhere used. All current
users load and unload topology as a whole. As following commits
introduce resource managed memory, remove them to simplify code and
reduce maintenance burden.

Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20201030145427.3497990-2-amadeuszx.slawinski@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc-topology.h
sound/soc/soc-topology.c

index 5223896..b1ac5df 100644 (file)
@@ -185,11 +185,6 @@ int snd_soc_tplg_component_load(struct snd_soc_component *comp,
        u32 index);
 int snd_soc_tplg_component_remove(struct snd_soc_component *comp, u32 index);
 
-/* Widget removal - widgets also removed wth component API */
-void snd_soc_tplg_widget_remove(struct snd_soc_dapm_widget *w);
-void snd_soc_tplg_widget_remove_all(struct snd_soc_dapm_context *dapm,
-       u32 index);
-
 /* Binds event handlers to dynamic widgets */
 int snd_soc_tplg_widget_bind_event(struct snd_soc_dapm_widget *w,
        const struct snd_soc_tplg_widget_events *events, int num_events,
index c5ef432..7919097 100644 (file)
@@ -1725,7 +1725,7 @@ widget:
        return 0;
 
 ready_err:
-       snd_soc_tplg_widget_remove(widget);
+       remove_widget(widget->dapm->component, &widget->dobj, SOC_TPLG_PASS_WIDGET);
        snd_soc_dapm_free_widget(widget);
 hdr_err:
        kfree(template.sname);
@@ -2834,41 +2834,6 @@ int snd_soc_tplg_component_load(struct snd_soc_component *comp,
 }
 EXPORT_SYMBOL_GPL(snd_soc_tplg_component_load);
 
-/* remove this dynamic widget */
-void snd_soc_tplg_widget_remove(struct snd_soc_dapm_widget *w)
-{
-       /* make sure we are a widget */
-       if (w->dobj.type != SND_SOC_DOBJ_WIDGET)
-               return;
-
-       remove_widget(w->dapm->component, &w->dobj, SOC_TPLG_PASS_WIDGET);
-}
-EXPORT_SYMBOL_GPL(snd_soc_tplg_widget_remove);
-
-/* remove all dynamic widgets from this DAPM context */
-void snd_soc_tplg_widget_remove_all(struct snd_soc_dapm_context *dapm,
-       u32 index)
-{
-       struct snd_soc_dapm_widget *w, *next_w;
-
-       for_each_card_widgets_safe(dapm->card, w, next_w) {
-
-               /* make sure we are a widget with correct context */
-               if (w->dobj.type != SND_SOC_DOBJ_WIDGET || w->dapm != dapm)
-                       continue;
-
-               /* match ID */
-               if (w->dobj.index != index &&
-                       w->dobj.index != SND_SOC_TPLG_INDEX_ALL)
-                       continue;
-               /* check and free and dynamic widget kcontrols */
-               snd_soc_tplg_widget_remove(w);
-               snd_soc_dapm_free_widget(w);
-       }
-       snd_soc_dapm_reset_cache(dapm);
-}
-EXPORT_SYMBOL_GPL(snd_soc_tplg_widget_remove_all);
-
 /* remove dynamic controls from the component driver */
 int snd_soc_tplg_component_remove(struct snd_soc_component *comp, u32 index)
 {