aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2014-09-09 14:42:42 -0400
committerMark Brown <broonie@linaro.org>2014-09-09 16:08:41 -0400
commit02bf34f4b8793a23dd0dbc4fda09d611a70ca0c9 (patch)
treef55bfa8f7ff81c1a48c888da4ed1e44400f407a4
parent2a4bc751fcc50c15bd4782cfc2ea513bef92a20f (diff)
ASoC: cs42l73: 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>
-rw-r--r--sound/soc/codecs/cs42l73.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/sound/soc/codecs/cs42l73.c b/sound/soc/codecs/cs42l73.c
index 0e7b9eb2ba61..2f8b94683e83 100644
--- a/sound/soc/codecs/cs42l73.c
+++ b/sound/soc/codecs/cs42l73.c
@@ -1330,25 +1330,10 @@ static struct snd_soc_dai_driver cs42l73_dai[] = {
1330 } 1330 }
1331}; 1331};
1332 1332
1333static int cs42l73_suspend(struct snd_soc_codec *codec)
1334{
1335 cs42l73_set_bias_level(codec, SND_SOC_BIAS_OFF);
1336
1337 return 0;
1338}
1339
1340static int cs42l73_resume(struct snd_soc_codec *codec)
1341{
1342 cs42l73_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
1343 return 0;
1344}
1345
1346static int cs42l73_probe(struct snd_soc_codec *codec) 1333static int cs42l73_probe(struct snd_soc_codec *codec)
1347{ 1334{
1348 struct cs42l73_private *cs42l73 = snd_soc_codec_get_drvdata(codec); 1335 struct cs42l73_private *cs42l73 = snd_soc_codec_get_drvdata(codec);
1349 1336
1350 cs42l73_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
1351
1352 /* Set Charge Pump Frequency */ 1337 /* Set Charge Pump Frequency */
1353 if (cs42l73->pdata.chgfreq) 1338 if (cs42l73->pdata.chgfreq)
1354 snd_soc_update_bits(codec, CS42L73_CPFCHC, 1339 snd_soc_update_bits(codec, CS42L73_CPFCHC,
@@ -1362,18 +1347,10 @@ static int cs42l73_probe(struct snd_soc_codec *codec)
1362 return 0; 1347 return 0;
1363} 1348}
1364 1349
1365static int cs42l73_remove(struct snd_soc_codec *codec)
1366{
1367 cs42l73_set_bias_level(codec, SND_SOC_BIAS_OFF);
1368 return 0;
1369}
1370
1371static struct snd_soc_codec_driver soc_codec_dev_cs42l73 = { 1350static struct snd_soc_codec_driver soc_codec_dev_cs42l73 = {
1372 .probe = cs42l73_probe, 1351 .probe = cs42l73_probe,
1373 .remove = cs42l73_remove,
1374 .suspend = cs42l73_suspend,
1375 .resume = cs42l73_resume,
1376 .set_bias_level = cs42l73_set_bias_level, 1352 .set_bias_level = cs42l73_set_bias_level,
1353 .suspend_bias_off = true,
1377 1354
1378 .dapm_widgets = cs42l73_dapm_widgets, 1355 .dapm_widgets = cs42l73_dapm_widgets,
1379 .num_dapm_widgets = ARRAY_SIZE(cs42l73_dapm_widgets), 1356 .num_dapm_widgets = ARRAY_SIZE(cs42l73_dapm_widgets),