diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-06-14 11:33:37 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-06-14 16:14:53 +0100 |
commit | 6d5701b29e392f77d222254aa8e375315d59f0aa (patch) | |
tree | f5552372d806219450f5fc4086b5c55f4e1db8ee /sound | |
parent | 5ba73683ba5223b218b26f878663e3907e85eedc (diff) | |
download | linux-3.10-6d5701b29e392f77d222254aa8e375315d59f0aa.tar.gz linux-3.10-6d5701b29e392f77d222254aa8e375315d59f0aa.tar.bz2 linux-3.10-6d5701b29e392f77d222254aa8e375315d59f0aa.zip |
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>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/soc-core.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 3f44150d8e3..1d70829464e 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", |