diff options
author | Graf Yang <graf.yang@analog.com> | 2008-11-18 17:48:21 +0800 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-11-18 17:48:21 +0800 |
commit | 30af6d490427b49af5beca5824e22b00e468c951 (patch) | |
tree | 0eb3782ce60cb0732cca17adad13efa3541396d9 /arch/blackfin/mach-common | |
parent | b7e11293a4340dc20674144f7e83883a7a40049e (diff) | |
download | blackbird-op-linux-30af6d490427b49af5beca5824e22b00e468c951.tar.gz blackbird-op-linux-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')
-rw-r--r-- | arch/blackfin/mach-common/ints-priority.c | 6 |
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) |