diff options
author | Mark Brown <broonie@kernel.org> | 2016-05-27 15:45:30 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-05-27 15:45:30 +0300 |
commit | ae14dbfaa04180cc07b32ad6c3852d73917878d3 (patch) | |
tree | 2248e50eeb6a76fb6604f3fec86f0bdc667eb860 /sound | |
parent | 94eaec458c037a8ec3a7cd39118d0d4378cabf11 (diff) | |
parent | 1135ef1139b3ebd5dc762b6b02384f8a7a84f8d4 (diff) | |
download | linux-ae14dbfaa04180cc07b32ad6c3852d73917878d3.tar.xz |
Merge remote-tracking branch 'asoc/topic/twl6040' into asoc-next
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/twl6040.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c index d1e3a932cbf3..1f7081043566 100644 --- a/sound/soc/codecs/twl6040.c +++ b/sound/soc/codecs/twl6040.c @@ -824,7 +824,7 @@ static int twl6040_set_bias_level(struct snd_soc_codec *codec, { struct twl6040 *twl6040 = codec->control_data; struct twl6040_data *priv = snd_soc_codec_get_drvdata(codec); - int ret; + int ret = 0; switch (level) { case SND_SOC_BIAS_ON: @@ -832,12 +832,16 @@ static int twl6040_set_bias_level(struct snd_soc_codec *codec, case SND_SOC_BIAS_PREPARE: break; case SND_SOC_BIAS_STANDBY: - if (priv->codec_powered) + if (priv->codec_powered) { + /* Select low power PLL in standby */ + ret = twl6040_set_pll(twl6040, TWL6040_SYSCLK_SEL_LPPLL, + 32768, 19200000); break; + } ret = twl6040_power(twl6040, 1); if (ret) - return ret; + break; priv->codec_powered = 1; @@ -853,7 +857,7 @@ static int twl6040_set_bias_level(struct snd_soc_codec *codec, break; } - return 0; + return ret; } static int twl6040_startup(struct snd_pcm_substream *substream, |