aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-11-23 07:37:31 -0500
committerMark Brown <broonie@kernel.org>2014-11-24 13:27:37 -0500
commit5fdf082b43995ae31d746d3d9e3b616afa24c542 (patch)
tree8d8a6dc53bc53eb248cbfe59faeb48e8b6647c81
parentf114040e3ea6e07372334ade75d1ee0775c355e1 (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.c22
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
698static int wm8940_suspend(struct snd_soc_codec *codec)
699{
700 return wm8940_set_bias_level(codec, SND_SOC_BIAS_OFF);
701}
702
703static int wm8940_resume(struct snd_soc_codec *codec)
704{
705 wm8940_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
706 return 0;
707}
708
709static int wm8940_probe(struct snd_soc_codec *codec) 698static 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
739static int wm8940_remove(struct snd_soc_codec *codec)
740{
741 wm8940_set_bias_level(codec, SND_SOC_BIAS_OFF);
742 return 0;
743}
744
745static struct snd_soc_codec_driver soc_codec_dev_wm8940 = { 728static 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,