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/wm8990.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/wm8990.c')
-rw-r--r-- | sound/soc/codecs/wm8990.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/sound/soc/codecs/wm8990.c b/sound/soc/codecs/wm8990.c index f657e9a5fe26..e43cb2c8b915 100644 --- a/sound/soc/codecs/wm8990.c +++ b/sound/soc/codecs/wm8990.c | |||
@@ -1409,16 +1409,9 @@ static int wm8990_init(struct snd_soc_device *socdev) | |||
1409 | snd_soc_add_controls(codec, wm8990_snd_controls, | 1409 | snd_soc_add_controls(codec, wm8990_snd_controls, |
1410 | ARRAY_SIZE(wm8990_snd_controls)); | 1410 | ARRAY_SIZE(wm8990_snd_controls)); |
1411 | wm8990_add_widgets(codec); | 1411 | wm8990_add_widgets(codec); |
1412 | ret = snd_soc_init_card(socdev); | 1412 | |
1413 | if (ret < 0) { | ||
1414 | printk(KERN_ERR "wm8990: failed to register card\n"); | ||
1415 | goto card_err; | ||
1416 | } | ||
1417 | return ret; | 1413 | return ret; |
1418 | 1414 | ||
1419 | card_err: | ||
1420 | snd_soc_free_pcms(socdev); | ||
1421 | snd_soc_dapm_free(socdev); | ||
1422 | pcm_err: | 1415 | pcm_err: |
1423 | kfree(codec->reg_cache); | 1416 | kfree(codec->reg_cache); |
1424 | return ret; | 1417 | return ret; |