summaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-05-23 01:01:05 +0200
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-05-23 11:24:15 +0200
commit0154724d487586241c1ad57cfd348ed2ff2274e2 (patch)
treed81fe5a259c7a3dd908b6e6f48e46082145aca7d /sound/soc
parentASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver (diff)
downloadlinux-0154724d487586241c1ad57cfd348ed2ff2274e2.tar.xz
linux-0154724d487586241c1ad57cfd348ed2ff2274e2.zip
ASoC: Fix WM9081 PowerPC compiler issues
Ensure that we always set a new sysclk when using the FLL in master mode and pick out the correct value for the sample rate in hw_params(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm9081.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/codecs/wm9081.c b/sound/soc/codecs/wm9081.c
index 83e3148c258b..86fc57e25f97 100644
--- a/sound/soc/codecs/wm9081.c
+++ b/sound/soc/codecs/wm9081.c
@@ -702,9 +702,10 @@ static int configure_clock(struct snd_soc_codec *codec)
* performance. */
for (i = 0; i < ARRAY_SIZE(clk_sys_rates); i++) {
target = wm9081->fs * clk_sys_rates[i].ratio;
+ new_sysclk = target;
if (target >= wm9081->bclk &&
target > 3000000)
- new_sysclk = target;
+ break;
}
} else if (wm9081->fs) {
for (i = 0; i < ARRAY_SIZE(clk_sys_rates); i++) {
@@ -1102,7 +1103,8 @@ static int wm9081_hw_params(struct snd_pcm_substream *substream,
}
dev_dbg(codec->dev, "Selected SAMPLE_RATE of %dHz\n",
sample_rates[best].rate);
- clk_ctrl2 |= (sample_rates[i].sample_rate << WM9081_SAMPLE_RATE_SHIFT);
+ clk_ctrl2 |= (sample_rates[best].sample_rate
+ << WM9081_SAMPLE_RATE_SHIFT);
/* BCLK_DIV */
best = 0;