#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