diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/wm9090.c | 32 | ||||
-rw-r--r-- | sound/soc/codecs/wm9712.c | 10 | ||||
-rw-r--r-- | sound/soc/codecs/wm9713.c | 2 |
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 | ||
561 | static 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 | |||
568 | static 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 | |||
579 | static 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 | |||
586 | static struct snd_soc_codec_driver soc_codec_dev_wm9090 = { | 558 | static 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 | ||
594 | static const struct regmap_config wm9090_regmap = { | 564 | static 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 | ||
639 | static 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 | |||
645 | static int wm9712_soc_resume(struct snd_soc_codec *codec) | 639 | static 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 | ||
693 | reset_err: | 685 | reset_err: |
@@ -706,11 +698,11 @@ static int wm9712_soc_remove(struct snd_soc_codec *codec) | |||
706 | static struct snd_soc_codec_driver soc_codec_dev_wm9712 = { | 698 | static 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); |