diff options
author | viresh kumar <viresh.kumar@st.com> | 2010-04-29 07:22:52 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-04-29 18:23:49 -0400 |
commit | db7e1bc479cc941c53839b18ff811c7def0c52e7 (patch) | |
tree | 0835845515fdf40daad948e564aa914430ae3623 /drivers/gpio/pl061.c | |
parent | b56ba8aa6f3aeab23d3d4b1190ed1098463b2a9c (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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpio/pl061.c b/drivers/gpio/pl061.c index 2196f318114c..105701a1f05b 100644 --- a/drivers/gpio/pl061.c +++ b/drivers/gpio/pl061.c | |||
@@ -189,7 +189,7 @@ static int pl061_irq_type(unsigned irq, unsigned trigger) | |||
189 | gpioibe &= ~(1 << offset); | 189 | gpioibe &= ~(1 << offset); |
190 | if (trigger & IRQ_TYPE_EDGE_RISING) | 190 | if (trigger & IRQ_TYPE_EDGE_RISING) |
191 | gpioiev |= 1 << offset; | 191 | gpioiev |= 1 << offset; |
192 | else | 192 | else if (trigger & IRQ_TYPE_EDGE_FALLING) |
193 | gpioiev &= ~(1 << offset); | 193 | gpioiev &= ~(1 << offset); |
194 | } | 194 | } |
195 | writeb(gpioibe, chip->base + GPIOIBE); | 195 | writeb(gpioibe, chip->base + GPIOIBE); |