diff options
| author | Lars-Peter Clausen <lars@metafoo.de> | 2014-09-09 14:42:42 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@linaro.org> | 2014-09-09 16:08:41 -0400 |
| commit | 02bf34f4b8793a23dd0dbc4fda09d611a70ca0c9 (patch) | |
| tree | f55bfa8f7ff81c1a48c888da4ed1e44400f407a4 | |
| parent | 2a4bc751fcc50c15bd4782cfc2ea513bef92a20f (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.c | 25 |
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 | ||
| 1333 | static 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 | |||
| 1340 | static int cs42l73_resume(struct snd_soc_codec *codec) | ||
| 1341 | { | ||
| 1342 | cs42l73_set_bias_level(codec, SND_SOC_BIAS_STANDBY); | ||
| 1343 | return 0; | ||
| 1344 | } | ||
| 1345 | |||
| 1346 | static int cs42l73_probe(struct snd_soc_codec *codec) | 1333 | static 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 | ||
| 1365 | static int cs42l73_remove(struct snd_soc_codec *codec) | ||
| 1366 | { | ||
| 1367 | cs42l73_set_bias_level(codec, SND_SOC_BIAS_OFF); | ||
| 1368 | return 0; | ||
| 1369 | } | ||
| 1370 | |||
| 1371 | static struct snd_soc_codec_driver soc_codec_dev_cs42l73 = { | 1350 | static 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), |
