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/wm8728.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/wm8728.c')
-rw-r--r-- | sound/soc/codecs/wm8728.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/sound/soc/codecs/wm8728.c b/sound/soc/codecs/wm8728.c index 16e969a762c3..1252a8a486a6 100644 --- a/sound/soc/codecs/wm8728.c +++ b/sound/soc/codecs/wm8728.c | |||
@@ -287,17 +287,9 @@ static int wm8728_init(struct snd_soc_device *socdev, | |||
287 | snd_soc_add_controls(codec, wm8728_snd_controls, | 287 | snd_soc_add_controls(codec, wm8728_snd_controls, |
288 | ARRAY_SIZE(wm8728_snd_controls)); | 288 | ARRAY_SIZE(wm8728_snd_controls)); |
289 | wm8728_add_widgets(codec); | 289 | wm8728_add_widgets(codec); |
290 | ret = snd_soc_init_card(socdev); | ||
291 | if (ret < 0) { | ||
292 | printk(KERN_ERR "wm8728: failed to register card\n"); | ||
293 | goto card_err; | ||
294 | } | ||
295 | 290 | ||
296 | return ret; | 291 | return ret; |
297 | 292 | ||
298 | card_err: | ||
299 | snd_soc_free_pcms(socdev); | ||
300 | snd_soc_dapm_free(socdev); | ||
301 | err: | 293 | err: |
302 | kfree(codec->reg_cache); | 294 | kfree(codec->reg_cache); |
303 | return ret; | 295 | return ret; |