aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/ints-priority.c
diff options
context:
space:
mode:
authorGraf Yang <graf.yang@analog.com>2008-11-18 04:48:21 -0500
committerBryan Wu <cooloney@kernel.org>2008-11-18 04:48:21 -0500
commit30af6d490427b49af5beca5824e22b00e468c951 (patch)
tree0eb3782ce60cb0732cca17adad13efa3541396d9 /arch/blackfin/mach-common/ints-priority.c
parentb7e11293a4340dc20674144f7e83883a7a40049e (diff)
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)
428 428
429static void bfin_gpio_irq_shutdown(unsigned int irq) 429static void bfin_gpio_irq_shutdown(unsigned int irq)
430{ 430{
431 u32 gpionr = irq_to_gpio(irq);
432
431 bfin_gpio_mask_irq(irq); 433 bfin_gpio_mask_irq(irq);
432 __clear_bit(irq_to_gpio(irq), gpio_enabled); 434 __clear_bit(gpionr, gpio_enabled);
435 bfin_gpio_free(gpionr);
433} 436}
434 437
435static int bfin_gpio_irq_type(unsigned int irq, unsigned int type) 438static int bfin_gpio_irq_type(unsigned int irq, unsigned int type)
@@ -730,6 +733,7 @@ static void bfin_gpio_irq_shutdown(unsigned int irq)
730 733
731 bfin_gpio_mask_irq(irq); 734 bfin_gpio_mask_irq(irq);
732 __clear_bit(gpionr, gpio_enabled); 735 __clear_bit(gpionr, gpio_enabled);
736 bfin_gpio_free(gpionr);
733} 737}
734 738
735static int bfin_gpio_irq_type(unsigned int irq, unsigned int type) 739static int bfin_gpio_irq_type(unsigned int irq, unsigned int type)