aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2013-01-16 01:03:52 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-01-16 05:28:59 -0500
commitc98137bfcb4afd4415864258dd8ecf05c2bb5843 (patch)
tree9f1890a7b599d8490c559a286bdd9d6db4da50ee
parentf48aa392219a22655417aa0e2d6889291e934c45 (diff)
ASoC: arizona: Don't request FLL lock IRQ
We only log the result and since the interrupt triggers on loss of lock during shutdown this may lead to spurious interrupts during shutdown delaying the process. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/soc/codecs/arizona.c19
-rw-r--r--sound/soc/codecs/arizona.h1
2 files changed, 0 insertions, 20 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
index f919a3ae2887..a12dd1669886 100644
--- a/sound/soc/codecs/arizona.c
+++ b/sound/soc/codecs/arizona.c
@@ -897,17 +897,6 @@ int arizona_init_dai(struct arizona_priv *priv, int id)
897} 897}
898EXPORT_SYMBOL_GPL(arizona_init_dai); 898EXPORT_SYMBOL_GPL(arizona_init_dai);
899 899
900static irqreturn_t arizona_fll_lock(int irq, void *data)
901{
902 struct arizona_fll *fll = data;
903
904 arizona_fll_dbg(fll, "Lock status changed\n");
905
906 complete(&fll->lock);
907
908 return IRQ_HANDLED;
909}
910
911static irqreturn_t arizona_fll_clock_ok(int irq, void *data) 900static irqreturn_t arizona_fll_clock_ok(int irq, void *data)
912{ 901{
913 struct arizona_fll *fll = data; 902 struct arizona_fll *fll = data;
@@ -1147,7 +1136,6 @@ int arizona_init_fll(struct arizona *arizona, int id, int base, int lock_irq,
1147{ 1136{
1148 int ret; 1137 int ret;
1149 1138
1150 init_completion(&fll->lock);
1151 init_completion(&fll->ok); 1139 init_completion(&fll->ok);
1152 1140
1153 fll->id = id; 1141 fll->id = id;
@@ -1158,13 +1146,6 @@ int arizona_init_fll(struct arizona *arizona, int id, int base, int lock_irq,
1158 snprintf(fll->clock_ok_name, sizeof(fll->clock_ok_name), 1146 snprintf(fll->clock_ok_name, sizeof(fll->clock_ok_name),
1159 "FLL%d clock OK", id); 1147 "FLL%d clock OK", id);
1160 1148
1161 ret = arizona_request_irq(arizona, lock_irq, fll->lock_name,
1162 arizona_fll_lock, fll);
1163 if (ret != 0) {
1164 dev_err(arizona->dev, "Failed to get FLL%d lock IRQ: %d\n",
1165 id, ret);
1166 }
1167
1168 ret = arizona_request_irq(arizona, ok_irq, fll->clock_ok_name, 1149 ret = arizona_request_irq(arizona, ok_irq, fll->clock_ok_name,
1169 arizona_fll_clock_ok, fll); 1150 arizona_fll_clock_ok, fll);
1170 if (ret != 0) { 1151 if (ret != 0) {
diff --git a/sound/soc/codecs/arizona.h b/sound/soc/codecs/arizona.h
index 697ff6fcaba4..116372c91f5d 100644
--- a/sound/soc/codecs/arizona.h
+++ b/sound/soc/codecs/arizona.h
@@ -197,7 +197,6 @@ struct arizona_fll {
197 int id; 197 int id;
198 unsigned int base; 198 unsigned int base;
199 unsigned int vco_mult; 199 unsigned int vco_mult;
200 struct completion lock;
201 struct completion ok; 200 struct completion ok;
202 unsigned int fref; 201 unsigned int fref;
203 unsigned int fout; 202 unsigned int fout;