summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Quadros <rogerq@ti.com>2012-06-15 18:18:17 +0300
committerXavier Boudet <x-boudet@ti.com>2012-07-12 15:45:46 +0200
commit14f3f0dae20da17a864e29ddd5a2e02d2522ed9a (patch)
tree0dea4492af9b8d5fa4794feb82837d3a75ecf8b7
parent9abe1f07ed5fa9b560834c7e3cb4e4b05ea36c60 (diff)
gpio/omap: Fix context lost issue with OFF mode
Fixes power up issue with TWL6040 audio codec and WLAN SDIO not found errors while resuming from OFF mode. Signed-off-by: Roger Quadros <rogerq@ti.com>
-rw-r--r--drivers/gpio/gpio-omap.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index 00c652c12b11..3abcc6c87c45 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1290,11 +1290,6 @@ static int omap_gpio_runtime_resume(struct device *dev)
__raw_writel(bank->context.risingdetect,
bank->base + bank->regs->risingdetect);
- if (!bank->workaround_enabled) {
- spin_unlock_irqrestore(&bank->lock, flags);
- return 0;
- }
-
if (bank->get_context_loss_count) {
context_lost_cnt_after =
bank->get_context_loss_count(bank->dev);
@@ -1307,6 +1302,11 @@ static int omap_gpio_runtime_resume(struct device *dev)
}
}
+ if (!bank->workaround_enabled) {
+ spin_unlock_irqrestore(&bank->lock, flags);
+ return 0;
+ }
+
l = __raw_readl(bank->base + bank->regs->datain);
/*