ASoC: topology: Remove unused functions from topology API
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>
This commit is contained in:
parent
32c5dca18b
commit
841fb10967
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue