From: Axel Lin Date: Wed, 24 Nov 2010 02:21:54 +0000 (+0800) Subject: ASoC: wm8961 - clear WM8961_MCLKDIV bit for freq <= 16500000 X-Git-Tag: v2.6.36.2~136 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f188231a6befaf6e685aa5f150a8d6f1beb1c7d6;p=thirdparty%2Fkernel%2Fstable.git ASoC: wm8961 - clear WM8961_MCLKDIV bit for freq <= 16500000 commit 2f7dceeda4708f470fd927adb3861bd8ebbe2310 upstream. MCLKDIV bit of Register 04h Clocking1: 0 : Divide by 1 1 : Divide by 2 Thus in the case of freq <= 16500000, we should clear MCLKDIV bit. Signed-off-by: Axel Lin Acked-by: Liam Girdwood Signed-off-by: Mark Brown Signed-off-by: Greg Kroah-Hartman --- diff --git a/sound/soc/codecs/wm8961.c b/sound/soc/codecs/wm8961.c index ea4c1c6a361d5..3bd65c88d4a09 100644 --- a/sound/soc/codecs/wm8961.c +++ b/sound/soc/codecs/wm8961.c @@ -736,7 +736,7 @@ static int wm8961_set_sysclk(struct snd_soc_dai *dai, int clk_id, freq /= 2; } else { dev_dbg(codec->dev, "Using MCLK/1 for %dHz MCLK\n", freq); - reg &= WM8961_MCLKDIV; + reg &= ~WM8961_MCLKDIV; } snd_soc_write(codec, WM8961_CLOCKING1, reg);