ASoC: Fix WM8903 DAC mute default
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 9 Feb 2011 17:42:57 +0000 (17:42 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 9 Feb 2011 22:50:16 +0000 (22:50 +0000)
The WM8903 register map does not mute the DAC by default at startup
so we need to explicitly do so.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
sound/soc/codecs/wm8903.c

index 389d2e8..119abce 100644 (file)
@@ -1870,9 +1870,9 @@ static int wm8903_probe(struct snd_soc_codec *codec)
        snd_soc_write(codec, WM8903_ANALOGUE_OUT3_RIGHT, val);
 
        /* Enable DAC soft mute by default */
-       val = snd_soc_read(codec, WM8903_DAC_DIGITAL_1);
-       val |= WM8903_DAC_MUTEMODE;
-       snd_soc_write(codec, WM8903_DAC_DIGITAL_1, val);
+       snd_soc_update_bits(codec, WM8903_DAC_DIGITAL_1,
+                           WM8903_DAC_MUTEMODE | WM8903_DAC_MUTE,
+                           WM8903_DAC_MUTEMODE | WM8903_DAC_MUTE);
 
        snd_soc_add_controls(codec, wm8903_snd_controls,
                                ARRAY_SIZE(wm8903_snd_controls));