summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/pl061.c
diff options
context:
space:
mode:
authorviresh kumar <viresh.kumar@st.com>2010-04-29 12:22:52 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-04-29 23:23:49 +0100
commitdb7e1bc479cc941c53839b18ff811c7def0c52e7 (patch)
tree0835845515fdf40daad948e564aa914430ae3623 /drivers/gpio/pl061.c
parentb56ba8aa6f3aeab23d3d4b1190ed1098463b2a9c (diff)
ARM: 6061/1: PL061 GPIO: Bug fix - setting gpio for HIGH_LEVEL interrupt is not working.
In current implementation of PL061, setting type of irq to HIGH_LEVEL is not working. This patch fixes this bug. Signed-off-by: Viresh Kumar <viresh.kumar@st.com> Acked-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/gpio/pl061.c')
-rw-r--r--drivers/gpio/pl061.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpio/pl061.c b/drivers/gpio/pl061.c
index 2196f318114..105701a1f05 100644
--- a/drivers/gpio/pl061.c
+++ b/drivers/gpio/pl061.c
@@ -189,7 +189,7 @@ static int pl061_irq_type(unsigned irq, unsigned trigger)
gpioibe &= ~(1 << offset);
if (trigger & IRQ_TYPE_EDGE_RISING)
gpioiev |= 1 << offset;
- else
+ else if (trigger & IRQ_TYPE_EDGE_FALLING)
gpioiev &= ~(1 << offset);
}
writeb(gpioibe, chip->base + GPIOIBE);