diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2014-11-23 07:37:37 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2014-11-24 13:35:53 -0500 |
commit | 387fe80fb13ed9f5f3741a661f96e409a2c959b5 (patch) | |
tree | 13fc0105aba03395c2568ea6195cf76d58e05d7d /sound/soc | |
parent | f114040e3ea6e07372334ade75d1ee0775c355e1 (diff) |
ASoC: wm8983: 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>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/codecs/wm8983.c | 27 |
1 files changed, 1 insertions, 26 deletions
diff --git a/sound/soc/codecs/wm8983.c b/sound/soc/codecs/wm8983.c index ac5defda8824..5d1cf08a72b8 100644 --- a/sound/soc/codecs/wm8983.c +++ b/sound/soc/codecs/wm8983.c | |||
@@ -967,29 +967,6 @@ static int wm8983_set_bias_level(struct snd_soc_codec *codec, | |||
967 | return 0; | 967 | return 0; |
968 | } | 968 | } |
969 | 969 | ||
970 | #ifdef CONFIG_PM | ||
971 | static int wm8983_suspend(struct snd_soc_codec *codec) | ||
972 | { | ||
973 | wm8983_set_bias_level(codec, SND_SOC_BIAS_OFF); | ||
974 | return 0; | ||
975 | } | ||
976 | |||
977 | static int wm8983_resume(struct snd_soc_codec *codec) | ||
978 | { | ||
979 | wm8983_set_bias_level(codec, SND_SOC_BIAS_STANDBY); | ||
980 | return 0; | ||
981 | } | ||
982 | #else | ||
983 | #define wm8983_suspend NULL | ||
984 | #define wm8983_resume NULL | ||
985 | #endif | ||
986 | |||
987 | static int wm8983_remove(struct snd_soc_codec *codec) | ||
988 | { | ||
989 | wm8983_set_bias_level(codec, SND_SOC_BIAS_OFF); | ||
990 | return 0; | ||
991 | } | ||
992 | |||
993 | static int wm8983_probe(struct snd_soc_codec *codec) | 970 | static int wm8983_probe(struct snd_soc_codec *codec) |
994 | { | 971 | { |
995 | int ret; | 972 | int ret; |
@@ -1055,10 +1032,8 @@ static struct snd_soc_dai_driver wm8983_dai = { | |||
1055 | 1032 | ||
1056 | static struct snd_soc_codec_driver soc_codec_dev_wm8983 = { | 1033 | static struct snd_soc_codec_driver soc_codec_dev_wm8983 = { |
1057 | .probe = wm8983_probe, | 1034 | .probe = wm8983_probe, |
1058 | .remove = wm8983_remove, | ||
1059 | .suspend = wm8983_suspend, | ||
1060 | .resume = wm8983_resume, | ||
1061 | .set_bias_level = wm8983_set_bias_level, | 1035 | .set_bias_level = wm8983_set_bias_level, |
1036 | .suspend_bias_off = true, | ||
1062 | .controls = wm8983_snd_controls, | 1037 | .controls = wm8983_snd_controls, |
1063 | .num_controls = ARRAY_SIZE(wm8983_snd_controls), | 1038 | .num_controls = ARRAY_SIZE(wm8983_snd_controls), |
1064 | .dapm_widgets = wm8983_dapm_widgets, | 1039 | .dapm_widgets = wm8983_dapm_widgets, |