summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/blackfin/mach-common/ints-priority.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/blackfin/mach-common/ints-priority.c b/arch/blackfin/mach-common/ints-priority.c
index f7e35e7965fc..efa27cb1b721 100644
--- a/arch/blackfin/mach-common/ints-priority.c
+++ b/arch/blackfin/mach-common/ints-priority.c
@@ -428,8 +428,11 @@ static unsigned int bfin_gpio_irq_startup(unsigned int irq)
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 @@ static void bfin_gpio_irq_shutdown(unsigned int irq)
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)