aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2011-08-08 20:57:12 -0500
committerNishanth Menon <nm@ti.com>2011-08-29 19:35:18 -0500
commitbc25361c2c1d3aa3d6a66b777da81fa783fa0e77 (patch)
tree48959c1aa52c7fb7b7917004fad093fa82c7266d /drivers/gpio
parente83028038dca8540df0c6044cc0002222fba6544 (diff)
downloadkernel_samsung_tuna-bc25361c2c1d3aa3d6a66b777da81fa783fa0e77.zip
kernel_samsung_tuna-bc25361c2c1d3aa3d6a66b777da81fa783fa0e77.tar.gz
kernel_samsung_tuna-bc25361c2c1d3aa3d6a66b777da81fa783fa0e77.tar.bz2
GPIO: OMAP: setup irq enable only after configuring interrupt 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. Change-Id: I3936d3b8f9b5c12052e2e388d79558b2e134fb35 Signed-off-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpio-omap.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index fbf9727..62b756a 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1441,10 +1441,6 @@ void omap_gpio_restore_context(struct gpio_bank *bank)
{
if(!bank->saved_context)
return;
- __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_set);
__raw_writel(bank->context.ctrl, bank->base + bank->regs->ctrl);
@@ -1469,6 +1465,10 @@ 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);
bank->saved_context = 0;
}
#endif