From 8898a7806bc9be03db5cb7315586122fb30d1e25 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Wed, 21 Nov 2012 14:12:22 +0900 Subject: [PATCH] --- yaml --- r: 342676 b: refs/heads/master c: 1cbe4bcae342973e36447aa03a609bc25804f416 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/sound/soc/codecs/arizona.c | 6 ++++++ trunk/sound/soc/codecs/arizona.h | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f8df23a81b28..ba4a491172a1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ba6b047ab9af433fb53939032858b196d05e6a18 +refs/heads/master: 1cbe4bcae342973e36447aa03a609bc25804f416 diff --git a/trunk/sound/soc/codecs/arizona.c b/trunk/sound/soc/codecs/arizona.c index 500e6cb462d8..d49764388f1c 100644 --- a/trunk/sound/soc/codecs/arizona.c +++ b/trunk/sound/soc/codecs/arizona.c @@ -937,6 +937,9 @@ int arizona_set_fll(struct arizona_fll *fll, int source, bool ena; int ret; + if (fll->fref == Fref && fll->fout == Fout) + return 0; + ret = regmap_read(arizona->regmap, fll->base + 1, ®); if (ret != 0) { arizona_fll_err(fll, "Failed to read current state: %d\n", @@ -1014,6 +1017,9 @@ int arizona_set_fll(struct arizona_fll *fll, int source, if (ret == 0) arizona_fll_warn(fll, "Timed out waiting for lock\n"); + fll->fref = Fref; + fll->fout = Fout; + return 0; } EXPORT_SYMBOL_GPL(arizona_set_fll); diff --git a/trunk/sound/soc/codecs/arizona.h b/trunk/sound/soc/codecs/arizona.h index f1c0ec924e3c..84c415d335bd 100644 --- a/trunk/sound/soc/codecs/arizona.h +++ b/trunk/sound/soc/codecs/arizona.h @@ -191,6 +191,8 @@ struct arizona_fll { unsigned int vco_mult; struct completion lock; struct completion ok; + unsigned int fref; + unsigned int fout; char lock_name[ARIZONA_FLL_NAME_LEN]; char clock_ok_name[ARIZONA_FLL_NAME_LEN];