update to latest kernel versions
[openwrt.git] / target / linux / brcm63xx / files / include / asm-mips / mach-bcm63xx / bcm63xx_gpio.h
index 31145df..43d4da0 100644 (file)
@@ -1,12 +1,24 @@
 #ifndef BCM63XX_GPIO_H
 #define BCM63XX_GPIO_H
 
-/* all helpers will BUG() if gpio count is >= 37. */
-#define BCM63XX_GPIO_COUNT     37
+#include <linux/init.h>
 
-void bcm63xx_gpio_set_dataout(int gpio, int val);
-int bcm63xx_gpio_get_datain(int gpio);
-void bcm63xx_gpio_set_direction(int gpio, int dir);
+int __init bcm63xx_gpio_init(void);
+
+static inline unsigned long bcm63xx_gpio_count(void)
+{
+       switch (bcm63xx_get_cpu_id()) {
+       case BCM6358_CPU_ID:
+               return 40;
+       case BCM6338_CPU_ID:
+               return 8;
+       case BCM6345_CPU_ID:
+               return 16;
+       case BCM6348_CPU_ID:
+       default:
+               return 37;
+       }
+}
 
 #define GPIO_DIR_OUT   0x0
 #define GPIO_DIR_IN    0x1
This page took 0.022997 seconds and 4 git commands to generate.