aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-09-09 14:42:40 -0400
committerMark Brown <broonie@linaro.org>2014-09-09 16:08:22 -0400
commit417c60e8f248a84e8e768c55d191689d1e27e05f (patch)
treee93d17b9750746d78f066df0bb742b87207680e7 /sound
parentde3ac8106815f0129947c78de5b7666ff8748096 (diff)
ASoC: cs42l52: 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. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Brian Austin <brian.austin@cirrus.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/cs42l52.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/sound/soc/codecs/cs42l52.c b/sound/soc/codecs/cs42l52.c
index 969167d8b71e..6efff7183b22 100644
--- a/sound/soc/codecs/cs42l52.c
+++ b/sound/soc/codecs/cs42l52.c
@@ -946,20 +946,6 @@ static struct snd_soc_dai_driver cs42l52_dai = {
946 .ops = &cs42l52_ops, 946 .ops = &cs42l52_ops,
947}; 947};
948 948
949static int cs42l52_suspend(struct snd_soc_codec *codec)
950{
951 cs42l52_set_bias_level(codec, SND_SOC_BIAS_OFF);
952
953 return 0;
954}
955
956static int cs42l52_resume(struct snd_soc_codec *codec)
957{
958 cs42l52_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
959
960 return 0;
961}
962
963static int beep_rates[] = { 949static int beep_rates[] = {
964 261, 522, 585, 667, 706, 774, 889, 1000, 950 261, 522, 585, 667, 706, 774, 889, 1000,
965 1043, 1200, 1333, 1412, 1600, 1714, 2000, 2182 951 1043, 1200, 1333, 1412, 1600, 1714, 2000, 2182
@@ -1104,8 +1090,6 @@ static int cs42l52_probe(struct snd_soc_codec *codec)
1104 1090
1105 cs42l52_init_beep(codec); 1091 cs42l52_init_beep(codec);
1106 1092
1107 cs42l52_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
1108
1109 cs42l52->sysclk = CS42L52_DEFAULT_CLK; 1093 cs42l52->sysclk = CS42L52_DEFAULT_CLK;
1110 cs42l52->config.format = CS42L52_DEFAULT_FORMAT; 1094 cs42l52->config.format = CS42L52_DEFAULT_FORMAT;
1111 1095
@@ -1115,7 +1099,6 @@ static int cs42l52_probe(struct snd_soc_codec *codec)
1115static int cs42l52_remove(struct snd_soc_codec *codec) 1099static int cs42l52_remove(struct snd_soc_codec *codec)
1116{ 1100{
1117 cs42l52_free_beep(codec); 1101 cs42l52_free_beep(codec);
1118 cs42l52_set_bias_level(codec, SND_SOC_BIAS_OFF);
1119 1102
1120 return 0; 1103 return 0;
1121} 1104}
@@ -1123,9 +1106,8 @@ static int cs42l52_remove(struct snd_soc_codec *codec)
1123static struct snd_soc_codec_driver soc_codec_dev_cs42l52 = { 1106static struct snd_soc_codec_driver soc_codec_dev_cs42l52 = {
1124 .probe = cs42l52_probe, 1107 .probe = cs42l52_probe,
1125 .remove = cs42l52_remove, 1108 .remove = cs42l52_remove,
1126 .suspend = cs42l52_suspend,
1127 .resume = cs42l52_resume,
1128 .set_bias_level = cs42l52_set_bias_level, 1109 .set_bias_level = cs42l52_set_bias_level,
1110 .suspend_bias_off = true,
1129 1111
1130 .dapm_widgets = cs42l52_dapm_widgets, 1112 .dapm_widgets = cs42l52_dapm_widgets,
1131 .num_dapm_widgets = ARRAY_SIZE(cs42l52_dapm_widgets), 1113 .num_dapm_widgets = ARRAY_SIZE(cs42l52_dapm_widgets),