summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorUwe Kleine-König <ukleinek@informatik.uni-freiburg.de>2007-09-30 20:36:14 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-10-12 23:43:39 +0100
commitc54ecb2481d464d50520ce60cf36011b68d1e89a (patch)
treedcb114640d6df63248e908062570a474fb5be13c /arch
parentc0bb87f7b8a145b56d45484713e1b1f37ce7e626 (diff)
downloadlwn-c54ecb2481d464d50520ce60cf36011b68d1e89a.tar.gz
lwn-c54ecb2481d464d50520ce60cf36011b68d1e89a.zip
[ARM] 4594/1: ns9xxx: use the new gpio functions
Up to now only board-a9m9750dev.c used GPIOs. It just wrote directly into the corresponding registers. Now it properly reserves the gpio and uses the API function to configure it. Signed-off-by: Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-ns9xxx/board-a9m9750dev.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/mach-ns9xxx/board-a9m9750dev.c b/arch/arm/mach-ns9xxx/board-a9m9750dev.c
index 88d1f7ef78c9..7fa3fb1f08ef 100644
--- a/arch/arm/mach-ns9xxx/board-a9m9750dev.c
+++ b/arch/arm/mach-ns9xxx/board-a9m9750dev.c
@@ -13,6 +13,7 @@
#include <linux/irq.h>
#include <asm/mach/map.h>
+#include <asm/gpio.h>
#include <asm/arch-ns9xxx/board.h>
#include <asm/arch-ns9xxx/regs-sys.h>
@@ -91,12 +92,11 @@ void __init board_a9m9750dev_init_irq(void)
u32 reg;
int i;
- /*
- * configure gpio for IRQ_EXT2
- * use GPIO 11, because GPIO 32 is used for the LCD
- */
- /* XXX: proper GPIO handling */
- BBU_GCONFb1(1) &= ~0x2000;
+ if (gpio_request(11, "board a9m9750dev extirq2") == 0)
+ ns9xxx_gpio_configure(11, 0, 1);
+ else
+ printk(KERN_ERR "%s: cannot get gpio 11 for IRQ_EXT2\n",
+ __func__);
for (i = FPGA_IRQ(0); i <= FPGA_IRQ(7); ++i) {
set_irq_chip(i, &a9m9750dev_fpga_chip);