aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNishanth Menon <[email protected]>2011-08-29 18:41:08 +0530
committerTarun Kanti DebBarma <[email protected]>2012-02-06 16:56:14 +0530
commitba805be53cb9112917631d368f859af5e20d695f (patch)
treecfcb6050d18f108b1c8cfad673ebf5ea70918f1c
parentae547354a8ed59f19b57f7e1de9c7816edfc3537 (diff)
gpio/omap: enable irq at the end of all configuration in restore
Setup the interrupt enable registers only after we have configured the required edge and required configurations, not before, to prevent spurious events as part of restore routine. Signed-off-by: Nishanth Menon <[email protected]> Signed-off-by: Tarun Kanti DebBarma <[email protected]> Reviewed-by: Santosh Shilimkar <[email protected]> Reviewed-by: Kevin Hilman <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
-rw-r--r--drivers/gpio/gpio-omap.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index f6b2c51b2935..41265e823b23 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1352,10 +1352,6 @@ void omap2_gpio_resume_after_idle(void)
#if defined(CONFIG_PM_RUNTIME)
static void omap_gpio_restore_context(struct gpio_bank *bank)
{
- __raw_writel(bank->context.irqenable1,
- bank->base + bank->regs->irqenable);
- __raw_writel(bank->context.irqenable2,
- bank->base + bank->regs->irqenable2);
__raw_writel(bank->context.wake_en,
bank->base + bank->regs->wkup_en);
__raw_writel(bank->context.ctrl, bank->base + bank->regs->ctrl);
@@ -1375,6 +1371,11 @@ static void omap_gpio_restore_context(struct gpio_bank *bank)
__raw_writel(bank->context.debounce_en,
bank->base + bank->regs->debounce_en);
}
+
+ __raw_writel(bank->context.irqenable1,
+ bank->base + bank->regs->irqenable);
+ __raw_writel(bank->context.irqenable2,
+ bank->base + bank->regs->irqenable2);
}
#endif /* CONFIG_PM_RUNTIME */
#else