aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8904.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-12-18 09:20:35 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-12-18 09:20:35 -0500
commit18240b67c8ca5efbbb2e8bb11942cc3db033fb16 (patch)
treec3baf99f97f6a28d059c6da9dce751099aa56631 /sound/soc/codecs/wm8904.c
parenta17accb7ae9291ef5a0ad609f92aa43263735855 (diff)
ASoC: Host clock2 read up in WM8904 FLL configuration
Avoids skipping over the read for disable cases. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm8904.c')
-rw-r--r--sound/soc/codecs/wm8904.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c
index e44ee31c2184..992a7f23df5c 100644
--- a/sound/soc/codecs/wm8904.c
+++ b/sound/soc/codecs/wm8904.c
@@ -1893,6 +1893,8 @@ static int wm8904_set_fll(struct snd_soc_dai *dai, int fll_id, int source,
1893 Fout == wm8904->fll_fout) 1893 Fout == wm8904->fll_fout)
1894 return 0; 1894 return 0;
1895 1895
1896 clock2 = snd_soc_read(codec, WM8904_CLOCK_RATES_2);
1897
1896 if (Fout == 0) { 1898 if (Fout == 0) {
1897 dev_dbg(codec->dev, "FLL disabled\n"); 1899 dev_dbg(codec->dev, "FLL disabled\n");
1898 1900
@@ -1936,7 +1938,6 @@ static int wm8904_set_fll(struct snd_soc_dai *dai, int fll_id, int source,
1936 1938
1937 /* Save current state then disable the FLL and SYSCLK to avoid 1939 /* Save current state then disable the FLL and SYSCLK to avoid
1938 * misclocking */ 1940 * misclocking */
1939 clock2 = snd_soc_read(codec, WM8904_CLOCK_RATES_2);
1940 fll1 = snd_soc_read(codec, WM8904_FLL_CONTROL_1); 1941 fll1 = snd_soc_read(codec, WM8904_FLL_CONTROL_1);
1941 snd_soc_update_bits(codec, WM8904_CLOCK_RATES_2, 1942 snd_soc_update_bits(codec, WM8904_CLOCK_RATES_2,
1942 WM8904_CLK_SYS_ENA, 0); 1943 WM8904_CLK_SYS_ENA, 0);