[ARM] 4594/1: ns9xxx: use the new gpio functions
authorUwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
Sun, 30 Sep 2007 19:36:14 +0000 (20:36 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 12 Oct 2007 22:43:39 +0000 (23:43 +0100)
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>
arch/arm/mach-ns9xxx/board-a9m9750dev.c

index 88d1f7ef78c9521a3d2e423a4117e69c637b0002..7fa3fb1f08ef639fd4dcd84fdd96e249b34d2c74 100644 (file)
@@ -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);