aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2011-10-11 18:44:45 -0700
committerColin Cross <ccross@android.com>2011-10-11 18:56:57 -0700
commit89d62b51ceed05e82395d62604fb3ce8ca2f5354 (patch)
treed6c6ddca26e902d3010ecdd0789bf1497de518ea /drivers/gpio
parentc1b13a9889f991044f29c2a7cbbeffed4b46960c (diff)
downloadkernel_samsung_tuna-89d62b51ceed05e82395d62604fb3ce8ca2f5354.tar.gz
kernel_samsung_tuna-89d62b51ceed05e82395d62604fb3ce8ca2f5354.tar.bz2
kernel_samsung_tuna-89d62b51ceed05e82395d62604fb3ce8ca2f5354.zip
gpio: omap: leave edge detect bits alone in idle
The edge detect bits should be left set if they were set entering idle, even if wkup_status was cleared for any reason. Apply wkup_status to the level detect bits only. Change-Id: I11b0ae629004a42a7fd8d7d5b2a32208586d7697 Signed-off-by: Colin Cross <ccross@android.com>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpio-omap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index 312d45dee3b..26231e2481b 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1410,9 +1410,9 @@ void omap2_gpio_set_edge_wakeup(void)
* expected to produce wakeup from low power.
* even if they are set for level detection only.
*/
- __raw_writel((bank->context.edge_falling | level_low) & wkup_status,
+ __raw_writel(bank->context.edge_falling | (level_low & wkup_status),
(bank->base + bank->regs->fallingdetect));
- __raw_writel((bank->context.edge_rising | level_high) & wkup_status,
+ __raw_writel(bank->context.edge_rising | (level_high & wkup_status),
(bank->base + bank->regs->risingdetect));
}