diff options
Diffstat (limited to 'sound/soc/codecs/wm8728.c')
-rw-r--r-- | sound/soc/codecs/wm8728.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/sound/soc/codecs/wm8728.c b/sound/soc/codecs/wm8728.c index 16e969a762c3..07adc375a706 100644 --- a/sound/soc/codecs/wm8728.c +++ b/sound/soc/codecs/wm8728.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/i2c.h> | 18 | #include <linux/i2c.h> |
19 | #include <linux/platform_device.h> | 19 | #include <linux/platform_device.h> |
20 | #include <linux/spi/spi.h> | 20 | #include <linux/spi/spi.h> |
21 | #include <linux/slab.h> | ||
21 | #include <sound/core.h> | 22 | #include <sound/core.h> |
22 | #include <sound/pcm.h> | 23 | #include <sound/pcm.h> |
23 | #include <sound/pcm_params.h> | 24 | #include <sound/pcm_params.h> |
@@ -74,8 +75,6 @@ static int wm8728_add_widgets(struct snd_soc_codec *codec) | |||
74 | 75 | ||
75 | snd_soc_dapm_add_routes(codec, intercon, ARRAY_SIZE(intercon)); | 76 | snd_soc_dapm_add_routes(codec, intercon, ARRAY_SIZE(intercon)); |
76 | 77 | ||
77 | snd_soc_dapm_new_widgets(codec); | ||
78 | |||
79 | return 0; | 78 | return 0; |
80 | } | 79 | } |
81 | 80 | ||
@@ -287,17 +286,9 @@ static int wm8728_init(struct snd_soc_device *socdev, | |||
287 | snd_soc_add_controls(codec, wm8728_snd_controls, | 286 | snd_soc_add_controls(codec, wm8728_snd_controls, |
288 | ARRAY_SIZE(wm8728_snd_controls)); | 287 | ARRAY_SIZE(wm8728_snd_controls)); |
289 | wm8728_add_widgets(codec); | 288 | 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 | 289 | ||
296 | return ret; | 290 | return ret; |
297 | 291 | ||
298 | card_err: | ||
299 | snd_soc_free_pcms(socdev); | ||
300 | snd_soc_dapm_free(socdev); | ||
301 | err: | 292 | err: |
302 | kfree(codec->reg_cache); | 293 | kfree(codec->reg_cache); |
303 | return ret; | 294 | return ret; |