diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2014-11-23 07:37:31 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2014-11-24 13:27:37 -0500 |
commit | 5fdf082b43995ae31d746d3d9e3b616afa24c542 (patch) | |
tree | 8d8a6dc53bc53eb248cbfe59faeb48e8b6647c81 | |
parent | f114040e3ea6e07372334ade75d1ee0775c355e1 (diff) |
ASoC: wm8940: Cleanup manual bias level transitions
Set the CODEC driver's suspend_bias_off flag rather than manually going to
SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes
the code a bit shorter and cleaner.
Since the ASoC core now takes care of setting the bias level to
SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually
anymore either.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/codecs/wm8940.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/sound/soc/codecs/wm8940.c b/sound/soc/codecs/wm8940.c index 52011043e54c..e4142b4309eb 100644 --- a/sound/soc/codecs/wm8940.c +++ b/sound/soc/codecs/wm8940.c | |||
@@ -695,17 +695,6 @@ static struct snd_soc_dai_driver wm8940_dai = { | |||
695 | .symmetric_rates = 1, | 695 | .symmetric_rates = 1, |
696 | }; | 696 | }; |
697 | 697 | ||
698 | static int wm8940_suspend(struct snd_soc_codec *codec) | ||
699 | { | ||
700 | return wm8940_set_bias_level(codec, SND_SOC_BIAS_OFF); | ||
701 | } | ||
702 | |||
703 | static int wm8940_resume(struct snd_soc_codec *codec) | ||
704 | { | ||
705 | wm8940_set_bias_level(codec, SND_SOC_BIAS_STANDBY); | ||
706 | return 0; | ||
707 | } | ||
708 | |||
709 | static int wm8940_probe(struct snd_soc_codec *codec) | 698 | static int wm8940_probe(struct snd_soc_codec *codec) |
710 | { | 699 | { |
711 | struct wm8940_setup_data *pdata = codec->dev->platform_data; | 700 | struct wm8940_setup_data *pdata = codec->dev->platform_data; |
@@ -736,18 +725,11 @@ static int wm8940_probe(struct snd_soc_codec *codec) | |||
736 | return ret; | 725 | return ret; |
737 | } | 726 | } |
738 | 727 | ||
739 | static int wm8940_remove(struct snd_soc_codec *codec) | ||
740 | { | ||
741 | wm8940_set_bias_level(codec, SND_SOC_BIAS_OFF); | ||
742 | return 0; | ||
743 | } | ||
744 | |||
745 | static struct snd_soc_codec_driver soc_codec_dev_wm8940 = { | 728 | static struct snd_soc_codec_driver soc_codec_dev_wm8940 = { |
746 | .probe = wm8940_probe, | 729 | .probe = wm8940_probe, |
747 | .remove = wm8940_remove, | ||
748 | .suspend = wm8940_suspend, | ||
749 | .resume = wm8940_resume, | ||
750 | .set_bias_level = wm8940_set_bias_level, | 730 | .set_bias_level = wm8940_set_bias_level, |
731 | .suspend_bias_off = true, | ||
732 | |||
751 | .controls = wm8940_snd_controls, | 733 | .controls = wm8940_snd_controls, |
752 | .num_controls = ARRAY_SIZE(wm8940_snd_controls), | 734 | .num_controls = ARRAY_SIZE(wm8940_snd_controls), |
753 | .dapm_widgets = wm8940_dapm_widgets, | 735 | .dapm_widgets = wm8940_dapm_widgets, |