diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-02-16 20:20:15 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-02-17 15:29:54 +0100 |
commit | 22d22ee5146ae823b1e93fe2887a7cba56015091 (patch) | |
tree | 69bda56695cd6949f688a4a831bfee7f532f7593 /sound/soc/codecs/wm8731.c | |
parent | ASoC: Remove version display from the WM8731 driver (diff) | |
download | linux-22d22ee5146ae823b1e93fe2887a7cba56015091.tar.xz linux-22d22ee5146ae823b1e93fe2887a7cba56015091.zip |
ASoC: Clean up WM8731 bias level configuration
The WM8731 bias level configuration function was written slightly
obscurely - streamline the code a little and refresh the comments.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm8731.c')
-rw-r--r-- | sound/soc/codecs/wm8731.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/sound/soc/codecs/wm8731.c b/sound/soc/codecs/wm8731.c index 816e5bf9edc1..c6db67793777 100644 --- a/sound/soc/codecs/wm8731.c +++ b/sound/soc/codecs/wm8731.c @@ -396,21 +396,19 @@ static int wm8731_set_dai_fmt(struct snd_soc_dai *codec_dai, static int wm8731_set_bias_level(struct snd_soc_codec *codec, enum snd_soc_bias_level level) { - u16 reg = wm8731_read_reg_cache(codec, WM8731_PWR) & 0xff7f; + u16 reg; switch (level) { case SND_SOC_BIAS_ON: - /* vref/mid, osc on, dac unmute */ - wm8731_write(codec, WM8731_PWR, reg); break; case SND_SOC_BIAS_PREPARE: break; case SND_SOC_BIAS_STANDBY: - /* everything off except vref/vmid, */ + /* Clear PWROFF, gate CLKOUT, everything else as-is */ + reg = wm8731_read_reg_cache(codec, WM8731_PWR) & 0xff7f; wm8731_write(codec, WM8731_PWR, reg | 0x0040); break; case SND_SOC_BIAS_OFF: - /* everything off, dac mute, inactive */ wm8731_write(codec, WM8731_ACTIVE, 0x0); wm8731_write(codec, WM8731_PWR, 0xffff); break; |