ASoC: Support AC97 link off by default on WM9712
authorMarek Vasut <marek.vasut@gmail.com>
Thu, 14 May 2009 19:52:46 +0000 (20:52 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 14 May 2009 19:52:46 +0000 (20:52 +0100)
The WM9712 can be configured by resistor strapping GPIO4 to behave like
the WM9713 and default to leaving the AC97 link disabled after cold
reset until a warm reset occurs.  In this configuration we need to issue
a warm reset after cold to bring the link up so do so.  The warm reset
will be harmless on systems that don't need it.

[Changelog rewritten to document the reasoning. -- broonie]

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm9712.c

index 550c903f23bf3dbd1ab7a5fb275b746c8fcc84c4..1fd4e88f50cff74db693676172518601671532ab 100644 (file)
@@ -585,6 +585,8 @@ static int wm9712_reset(struct snd_soc_codec *codec, int try_warm)
        }
 
        soc_ac97_ops.reset(codec->ac97);
+       if (soc_ac97_ops.warm_reset)
+               soc_ac97_ops.warm_reset(codec->ac97);
        if (ac97_read(codec, 0) != wm9712_reg[0])
                goto err;
        return 0;