summaryrefslogtreecommitdiffstats
path: root/sound/soc/soc-dapm.c
diff options
context:
space:
mode:
authorLars-Peter Clausen2015-05-01 18:02:42 +0200
committerMark Brown2015-05-06 18:31:02 +0200
commit92fa12426741d52b39ec92ad77c9843d3fc2b3d6 (patch)
tree18f65f88bc363c4f40fec03db1a566731e51b724 /sound/soc/soc-dapm.c
parentASoC: dapm: Add support for autodisable mux controls (diff)
downloadkernel-qcow2-linux-92fa12426741d52b39ec92ad77c9843d3fc2b3d6.tar.gz
kernel-qcow2-linux-92fa12426741d52b39ec92ad77c9843d3fc2b3d6.tar.xz
kernel-qcow2-linux-92fa12426741d52b39ec92ad77c9843d3fc2b3d6.zip
ASoC: dapm: Add new widgets to the end of the widget list
Currently new widgets are appended to the beginning of the cards widget list. This has the effect that widgets that are created while iterating over the widget list in snd_soc_dapm_new_widgets() (like e.g. the auto-disable widgets) are not covered during that invocation of the function. If no further invocations of snd_soc_dapm_new_widgets() happen these widgets will not be fully initialized and e.g. no debugfs entries are created for them. By adding new widgets to the end of the widget list we make sure that widgets that are created in snd_soc_dapm_new_widgets() will still be handled during the same snd_soc_dapm_new_widgets() invocation and are always fully initialized. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/soc-dapm.c')
-rw-r--r--sound/soc/soc-dapm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 79e6cf4b7de1..5c159f4f8097 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -3252,7 +3252,7 @@ snd_soc_dapm_new_control(struct snd_soc_dapm_context *dapm,
INIT_LIST_HEAD(&w->sinks);
INIT_LIST_HEAD(&w->list);
INIT_LIST_HEAD(&w->dirty);
- list_add(&w->list, &dapm->card->widgets);
+ list_add_tail(&w->list, &dapm->card->widgets);
w->inputs = -1;
w->outputs = -1;