aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/ints-priority.c
diff options
context:
space:
mode:
authorGraf Yang <graf.yang@analog.com>2008-11-18 17:48:21 +0800
committerBryan Wu <cooloney@kernel.org>2008-11-18 17:48:21 +0800
commit30af6d490427b49af5beca5824e22b00e468c951 (patch)
tree0eb3782ce60cb0732cca17adad13efa3541396d9 /arch/blackfin/mach-common/ints-priority.c
parentBlackfin arch: fix bug - reboot fails on BF527 (diff)
downloadlinux-dev-30af6d490427b49af5beca5824e22b00e468c951.tar.xz
linux-dev-30af6d490427b49af5beca5824e22b00e468c951.zip
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>
Diffstat (limited to 'arch/blackfin/mach-common/ints-priority.c')
-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)