summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-06-14 11:33:37 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-06-14 16:14:53 +0100
commit6d5701b29e392f77d222254aa8e375315d59f0aa (patch)
treef5552372d806219450f5fc4086b5c55f4e1db8ee
parent5ba73683ba5223b218b26f878663e3907e85eedc (diff)
downloadop-kernel-dev-6d5701b29e392f77d222254aa8e375315d59f0aa.zip
op-kernel-dev-6d5701b29e392f77d222254aa8e375315d59f0aa.tar.gz
ASoC: Instantiate any forgotten DAPM widgets
With the recent changes to the DAPM power checks it has become important to explicitly instantiate all widgets but some drivers were forgetting to do that. Since everything needs to do it add a call to instantiate them immediately before the card registration - it does no harm when it is called repeatedly and saves work in drivers. Tested-by: pHilipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/soc/soc-core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 3f44150..1d70829 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1389,6 +1389,9 @@ int snd_soc_init_card(struct snd_soc_device *socdev)
snprintf(codec->card->longname, sizeof(codec->card->longname),
"%s (%s)", card->name, codec->name);
+ /* Make sure all DAPM widgets are instantiated */
+ snd_soc_dapm_new_widgets(codec);
+
ret = snd_card_register(codec->card);
if (ret < 0) {
printk(KERN_ERR "asoc: failed to register soundcard for %s\n",
OpenPOWER on IntegriCloud