aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8971.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-11-03 17:13:13 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-11-03 17:14:43 -0500
commitfe3e78e073d25308756f38019956061153267769 (patch)
tree6590150d5c67f8a5889f3d254fe82e5abf46f83a /sound/soc/codecs/wm8971.c
parent2624d5fa67a5d3d720613a4ab0672e8c387ba806 (diff)
ASoC: Factor out snd_soc_init_card()
snd_soc_init_card() is always called as the last part of the CODEC probe function so we can factor it out into the core card setup rather than have each CODEC replicate the code to do the initialiastation. This will be required to support multiple CODECs per card. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm8971.c')
-rw-r--r--sound/soc/codecs/wm8971.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/sound/soc/codecs/wm8971.c b/sound/soc/codecs/wm8971.c
index d66efb0546ea..56a66e89ab91 100644
--- a/sound/soc/codecs/wm8971.c
+++ b/sound/soc/codecs/wm8971.c
@@ -703,16 +703,9 @@ static int wm8971_init(struct snd_soc_device *socdev,
703 snd_soc_add_controls(codec, wm8971_snd_controls, 703 snd_soc_add_controls(codec, wm8971_snd_controls,
704 ARRAY_SIZE(wm8971_snd_controls)); 704 ARRAY_SIZE(wm8971_snd_controls));
705 wm8971_add_widgets(codec); 705 wm8971_add_widgets(codec);
706 ret = snd_soc_init_card(socdev); 706
707 if (ret < 0) {
708 printk(KERN_ERR "wm8971: failed to register card\n");
709 goto card_err;
710 }
711 return ret; 707 return ret;
712 708
713card_err:
714 snd_soc_free_pcms(socdev);
715 snd_soc_dapm_free(socdev);
716err: 709err:
717 kfree(codec->reg_cache); 710 kfree(codec->reg_cache);
718 return ret; 711 return ret;