Blackfin arch: Add code to free gpio when shutdown irq
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c
index f7e35e7..efa27cb 100644
--- a/arch/blackfin/mach-common/ints-priority.c
+++ b/arch/blackfin/mach-common/ints-priority.c
@@ -428,8 +428,11 @@
static void bfin_gpio_irq_shutdown(unsigned int irq)
{
+ u32 gpionr = irq_to_gpio(irq);
+
bfin_gpio_mask_irq(irq);
- __clear_bit(irq_to_gpio(irq), gpio_enabled);
+ __clear_bit(gpionr, gpio_enabled);
+ bfin_gpio_free(gpionr);
}
static int bfin_gpio_irq_type(unsigned int irq, unsigned int type)
@@ -730,6 +733,7 @@
bfin_gpio_mask_irq(irq);
__clear_bit(gpionr, gpio_enabled);
+ bfin_gpio_free(gpionr);
}
static int bfin_gpio_irq_type(unsigned int irq, unsigned int type)