Blackfin arch: Add code to free gpio when shutdown irq
authorGraf Yang <graf.yang@analog.com>
Tue, 18 Nov 2008 09:48:21 +0000 (17:48 +0800)
committerBryan Wu <cooloney@kernel.org>
Tue, 18 Nov 2008 09:48:21 +0000 (17:48 +0800)
Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
arch/blackfin/mach-common/ints-priority.c

index f7e35e7965fc5733ca1e4de0291e1901917892e5..efa27cb1b72116b75ce534cf3d29aec85e728f6a 100644 (file)
@@ -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)