MIPS: RB532: provide GPIO_BUILTIN_NR and irq_to_gpio/gpio_to_irq
authorFlorian Fainelli <florian@openwrt.org>
Thu, 11 Sep 2008 15:48:00 +0000 (17:48 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Sat, 11 Oct 2008 15:18:57 +0000 (16:18 +0100)
This patchs defines the number of built-in the GPIOs present
on the SoC as Documentation/gpio.txt recommends to do.
Define irq_to_gpio/gpio_to_irq to return the right values so that
it fixes a compilation error on drivers/gpio/gpiolib.c
when enabling debugfs.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/mach-rc32434/gpio.h

index 3a70b41..c8e554e 100644 (file)
 #define _RC32434_GPIO_H_
 
 #include <linux/types.h>
+#include <asm-generic/gpio.h>
 
-#define gpio_get_value __gpio_get_value
-#define gpio_set_value __gpio_set_value
-
-#define gpio_cansleep __gpio_cansleep
+#define NR_BUILTIN_GPIO                32
 
-#define gpio_to_irq(gpio)      IRQ_GPIO(gpio)
-#define irq_to_gpio(irq)       IRQ_TO_GPIO(irq)
+#define gpio_get_value __gpio_get_value
+#define gpio_set_value __gpio_set_value
+#define gpio_cansleep  __gpio_cansleep
 
-#include <asm-generic/gpio.h>
+#define gpio_to_irq(gpio)      (8 + 4 * 32 + gpio)
+#define irq_to_gpio(irq)       (irq - (8 + 4 * 32))
 
 struct rb532_gpio_reg {
        u32   gpiofunc;   /* GPIO Function Register