diff options
Diffstat (limited to 'target/linux/brcm47xx/patches-2.6.25')
-rw-r--r-- | target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch b/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch new file mode 100644 index 0000000..bca3b4e --- /dev/null +++ b/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch @@ -0,0 +1,44 @@ +Add gpio_is_valid() for bcm47xx +Index: linux-2.6.25.10/arch/mips/bcm47xx/gpio.c +=================================================================== +--- linux-2.6.25.10.orig/arch/mips/bcm47xx/gpio.c 2008-07-20 20:48:44.000000000 +0200 ++++ linux-2.6.25.10/arch/mips/bcm47xx/gpio.c 2008-07-20 20:57:55.000000000 +0200 +@@ -77,3 +77,15 @@ int bcm47xx_gpio_direction_output(unsign + } + EXPORT_SYMBOL_GPL(bcm47xx_gpio_direction_output); + ++int bcm47xx_gpio_is_valid(int gpio) ++{ ++ if (ssb_bcm47xx.chipco.dev) { ++ if (gpio >= 0 && gpio < BCM47XX_CHIPCO_GPIO_LINES) ++ return 1; ++ } else if (ssb_bcm47xx.extif.dev) { ++ if (gpio >= 0 && gpio < BCM47XX_EXTIF_GPIO_LINES) ++ return 1; ++ } ++ return 0; ++} ++EXPORT_SYMBOL_GPL(bcm47xx_gpio_is_valid); +Index: linux-2.6.25.10/include/asm-mips/mach-bcm47xx/gpio.h +=================================================================== +--- linux-2.6.25.10.orig/include/asm-mips/mach-bcm47xx/gpio.h 2008-07-20 20:48:44.000000000 +0200 ++++ linux-2.6.25.10/include/asm-mips/mach-bcm47xx/gpio.h 2008-07-20 20:49:20.000000000 +0200 +@@ -17,6 +17,7 @@ extern int bcm47xx_gpio_get_value(unsign + extern void bcm47xx_gpio_set_value(unsigned gpio, int value); + extern int bcm47xx_gpio_direction_input(unsigned gpio); + extern int bcm47xx_gpio_direction_output(unsigned gpio, int value); ++extern int bcm47xx_gpio_is_valid(int gpio); + + static inline int gpio_request(unsigned gpio, const char *label) + { +@@ -52,6 +53,10 @@ static inline int gpio_direction_output( + return bcm47xx_gpio_direction_output(gpio, value); + } + ++static inline int gpio_is_valid(int gpio) ++{ ++ return bcm47xx_gpio_is_valid(gpio); ++} + + /* cansleep wrappers */ + #include <asm-generic/gpio.h> |