aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8971.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/codecs/wm8971.c')
-rw-r--r--sound/soc/codecs/wm8971.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/sound/soc/codecs/wm8971.c b/sound/soc/codecs/wm8971.c
index d66efb0546ea..a65b781af512 100644
--- a/sound/soc/codecs/wm8971.c
+++ b/sound/soc/codecs/wm8971.c
@@ -20,6 +20,7 @@
20#include <linux/pm.h> 20#include <linux/pm.h>
21#include <linux/i2c.h> 21#include <linux/i2c.h>
22#include <linux/platform_device.h> 22#include <linux/platform_device.h>
23#include <linux/slab.h>
23#include <sound/core.h> 24#include <sound/core.h>
24#include <sound/pcm.h> 25#include <sound/pcm.h>
25#include <sound/pcm_params.h> 26#include <sound/pcm_params.h>
@@ -338,8 +339,6 @@ static int wm8971_add_widgets(struct snd_soc_codec *codec)
338 339
339 snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map)); 340 snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
340 341
341 snd_soc_dapm_new_widgets(codec);
342
343 return 0; 342 return 0;
344} 343}
345 344
@@ -703,16 +702,9 @@ static int wm8971_init(struct snd_soc_device *socdev,
703 snd_soc_add_controls(codec, wm8971_snd_controls, 702 snd_soc_add_controls(codec, wm8971_snd_controls,
704 ARRAY_SIZE(wm8971_snd_controls)); 703 ARRAY_SIZE(wm8971_snd_controls));
705 wm8971_add_widgets(codec); 704 wm8971_add_widgets(codec);
706 ret = snd_soc_init_card(socdev); 705
707 if (ret < 0) {
708 printk(KERN_ERR "wm8971: failed to register card\n");
709 goto card_err;
710 }
711 return ret; 706 return ret;
712 707
713card_err:
714 snd_soc_free_pcms(socdev);
715 snd_soc_dapm_free(socdev);
716err: 708err:
717 kfree(codec->reg_cache); 709 kfree(codec->reg_cache);
718 return ret; 710 return ret;