aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/arizona.c
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2014-07-09 17:41:48 +0100
committerMark Brown <broonie@linaro.org>2014-07-10 12:09:16 +0200
commit5e39a50bf8c644f2ef348037d3e3efdc03fa65b2 (patch)
tree9af95270d0304173bec905ab43c241de07fba373 /sound/soc/codecs/arizona.c
parentASoC: arizona: Correct return value of arizona_is_enabled_fll (diff)
downloadlinux-dev-5e39a50bf8c644f2ef348037d3e3efdc03fa65b2.tar.xz
linux-dev-5e39a50bf8c644f2ef348037d3e3efdc03fa65b2.zip
ASoC: arizona: FLL freerun only required whilst disabling
The FLL freerun is only required whilst we disable the FLL not the entire time the FLL is disabled. This patch moves the FLL freerun disable from the enable sequence to the disable sequence. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/codecs/arizona.c')
-rw-r--r--sound/soc/codecs/arizona.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
index a6f09bb0a2e9..7c362cb36b21 100644
--- a/sound/soc/codecs/arizona.c
+++ b/sound/soc/codecs/arizona.c
@@ -1792,8 +1792,6 @@ static int arizona_enable_fll(struct arizona_fll *fll)
try_wait_for_completion(&fll->ok);
regmap_update_bits_async(arizona->regmap, fll->base + 1,
- ARIZONA_FLL1_FREERUN, 0);
- regmap_update_bits_async(arizona->regmap, fll->base + 1,
ARIZONA_FLL1_ENA, ARIZONA_FLL1_ENA);
if (use_sync)
regmap_update_bits_async(arizona->regmap, fll->base + 0x11,
@@ -1819,6 +1817,8 @@ static void arizona_disable_fll(struct arizona_fll *fll)
ARIZONA_FLL1_ENA, 0, &change);
regmap_update_bits(arizona->regmap, fll->base + 0x11,
ARIZONA_FLL1_SYNC_ENA, 0);
+ regmap_update_bits_async(arizona->regmap, fll->base + 1,
+ ARIZONA_FLL1_FREERUN, 0);
if (change)
pm_runtime_put_autosuspend(arizona->dev);