From: viresh kumar Date: Thu, 29 Apr 2010 11:22:52 +0000 (+0100) Subject: ARM: 6061/1: PL061 GPIO: Bug fix - setting gpio for HIGH_LEVEL interrupt is not working. X-Git-Tag: firefly_0821_release~9833^2~2251^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=db7e1bc479cc941c53839b18ff811c7def0c52e7;p=firefly-linux-kernel-4.4.55.git 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 Acked-by: Baruch Siach Signed-off-by: Russell King --- 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) 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);