diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-11-03 17:13:13 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-11-03 17:14:43 -0500 |
commit | fe3e78e073d25308756f38019956061153267769 (patch) | |
tree | 6590150d5c67f8a5889f3d254fe82e5abf46f83a /sound/soc/codecs/wm8510.c | |
parent | 2624d5fa67a5d3d720613a4ab0672e8c387ba806 (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/wm8510.c')
-rw-r--r-- | sound/soc/codecs/wm8510.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/sound/soc/codecs/wm8510.c b/sound/soc/codecs/wm8510.c index 5702435af81b..e3c21ebcc08e 100644 --- a/sound/soc/codecs/wm8510.c +++ b/sound/soc/codecs/wm8510.c | |||
@@ -604,16 +604,9 @@ static int wm8510_init(struct snd_soc_device *socdev, | |||
604 | snd_soc_add_controls(codec, wm8510_snd_controls, | 604 | snd_soc_add_controls(codec, wm8510_snd_controls, |
605 | ARRAY_SIZE(wm8510_snd_controls)); | 605 | ARRAY_SIZE(wm8510_snd_controls)); |
606 | wm8510_add_widgets(codec); | 606 | wm8510_add_widgets(codec); |
607 | ret = snd_soc_init_card(socdev); | 607 | |
608 | if (ret < 0) { | ||
609 | printk(KERN_ERR "wm8510: failed to register card\n"); | ||
610 | goto card_err; | ||
611 | } | ||
612 | return ret; | 608 | return ret; |
613 | 609 | ||
614 | card_err: | ||
615 | snd_soc_free_pcms(socdev); | ||
616 | snd_soc_dapm_free(socdev); | ||
617 | err: | 610 | err: |
618 | kfree(codec->reg_cache); | 611 | kfree(codec->reg_cache); |
619 | return ret; | 612 | return ret; |