aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm9090.c32
-rw-r--r--sound/soc/codecs/wm9712.c10
-rw-r--r--sound/soc/codecs/wm9713.c2
3 files changed, 2 insertions, 42 deletions
diff --git a/sound/soc/codecs/wm9090.c b/sound/soc/codecs/wm9090.c
index a13f0725611a..6ffe8dc4f3fa 100644
--- a/sound/soc/codecs/wm9090.c
+++ b/sound/soc/codecs/wm9090.c
@@ -550,45 +550,15 @@ static int wm9090_probe(struct snd_soc_codec *codec)
550 snd_soc_update_bits(codec, WM9090_CLOCKING_1, 550 snd_soc_update_bits(codec, WM9090_CLOCKING_1,
551 WM9090_TOCLK_ENA, WM9090_TOCLK_ENA); 551 WM9090_TOCLK_ENA, WM9090_TOCLK_ENA);
552 552
553 wm9090_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
554
555 wm9090_add_controls(codec); 553 wm9090_add_controls(codec);
556 554
557 return 0; 555 return 0;
558} 556}
559 557
560#ifdef CONFIG_PM
561static int wm9090_suspend(struct snd_soc_codec *codec)
562{
563 wm9090_set_bias_level(codec, SND_SOC_BIAS_OFF);
564
565 return 0;
566}
567
568static int wm9090_resume(struct snd_soc_codec *codec)
569{
570 wm9090_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
571
572 return 0;
573}
574#else
575#define wm9090_suspend NULL
576#define wm9090_resume NULL
577#endif
578
579static int wm9090_remove(struct snd_soc_codec *codec)
580{
581 wm9090_set_bias_level(codec, SND_SOC_BIAS_OFF);
582
583 return 0;
584}
585
586static struct snd_soc_codec_driver soc_codec_dev_wm9090 = { 558static struct snd_soc_codec_driver soc_codec_dev_wm9090 = {
587 .probe = wm9090_probe, 559 .probe = wm9090_probe,
588 .remove = wm9090_remove,
589 .suspend = wm9090_suspend,
590 .resume = wm9090_resume,
591 .set_bias_level = wm9090_set_bias_level, 560 .set_bias_level = wm9090_set_bias_level,
561 .suspend_bias_off = true,
592}; 562};
593 563
594static const struct regmap_config wm9090_regmap = { 564static const struct regmap_config wm9090_regmap = {
diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c
index 52a211be5b47..7c45971bb4ec 100644
--- a/sound/soc/codecs/wm9712.c
+++ b/sound/soc/codecs/wm9712.c
@@ -636,12 +636,6 @@ err:
636 return -EIO; 636 return -EIO;
637} 637}
638 638
639static int wm9712_soc_suspend(struct snd_soc_codec *codec)
640{
641 wm9712_set_bias_level(codec, SND_SOC_BIAS_OFF);
642 return 0;
643}
644
645static int wm9712_soc_resume(struct snd_soc_codec *codec) 639static int wm9712_soc_resume(struct snd_soc_codec *codec)
646{ 640{
647 struct wm9712_priv *wm9712 = snd_soc_codec_get_drvdata(codec); 641 struct wm9712_priv *wm9712 = snd_soc_codec_get_drvdata(codec);
@@ -686,8 +680,6 @@ static int wm9712_soc_probe(struct snd_soc_codec *codec)
686 /* set alc mux to none */ 680 /* set alc mux to none */
687 ac97_write(codec, AC97_VIDEO, ac97_read(codec, AC97_VIDEO) | 0x3000); 681 ac97_write(codec, AC97_VIDEO, ac97_read(codec, AC97_VIDEO) | 0x3000);
688 682
689 wm9712_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
690
691 return 0; 683 return 0;
692 684
693reset_err: 685reset_err:
@@ -706,11 +698,11 @@ static int wm9712_soc_remove(struct snd_soc_codec *codec)
706static struct snd_soc_codec_driver soc_codec_dev_wm9712 = { 698static struct snd_soc_codec_driver soc_codec_dev_wm9712 = {
707 .probe = wm9712_soc_probe, 699 .probe = wm9712_soc_probe,
708 .remove = wm9712_soc_remove, 700 .remove = wm9712_soc_remove,
709 .suspend = wm9712_soc_suspend,
710 .resume = wm9712_soc_resume, 701 .resume = wm9712_soc_resume,
711 .read = ac97_read, 702 .read = ac97_read,
712 .write = ac97_write, 703 .write = ac97_write,
713 .set_bias_level = wm9712_set_bias_level, 704 .set_bias_level = wm9712_set_bias_level,
705 .suspend_bias_off = true,
714 .reg_cache_size = ARRAY_SIZE(wm9712_reg), 706 .reg_cache_size = ARRAY_SIZE(wm9712_reg),
715 .reg_word_size = sizeof(u16), 707 .reg_word_size = sizeof(u16),
716 .reg_cache_step = 2, 708 .reg_cache_step = 2,
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
index 6c95d98b0eb1..5df7f6d12bef 100644
--- a/sound/soc/codecs/wm9713.c
+++ b/sound/soc/codecs/wm9713.c
@@ -1236,8 +1236,6 @@ static int wm9713_soc_probe(struct snd_soc_codec *codec)
1236 if (ret < 0) 1236 if (ret < 0)
1237 goto reset_err; 1237 goto reset_err;
1238 1238
1239 wm9713_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
1240
1241 /* unmute the adc - move to kcontrol */ 1239 /* unmute the adc - move to kcontrol */
1242 reg = ac97_read(codec, AC97_CD) & 0x7fff; 1240 reg = ac97_read(codec, AC97_CD) & 0x7fff;
1243 ac97_write(codec, AC97_CD, reg); 1241 ac97_write(codec, AC97_CD, reg);