diff --git a/drivers/gpio/gpio.c b/drivers/gpio/gpio.c index 6ad8d27..042a062 100644 --- a/drivers/gpio/gpio.c +++ b/drivers/gpio/gpio.c @@ -4,17 +4,8 @@ static LIST_HEAD(chip_list); -#define ARCH_NR_GPIOS 256 - static struct gpio_chip *gpio_desc[ARCH_NR_GPIOS]; -static int gpio_is_valid(unsigned gpio) -{ - if (gpio < ARCH_NR_GPIOS) - return 1; - return 0; -} - void gpio_set_value(unsigned gpio, int value) { struct gpio_chip *chip = gpio_desc[gpio]; diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h index 1997888..c2e7a5d 100644 --- a/include/asm-generic/gpio.h +++ b/include/asm-generic/gpio.h @@ -1,6 +1,17 @@ #ifndef __ASM_GENERIC_GPIO_H #define __ASM_GENERIC_GPIO_H +#define ARCH_NR_GPIOS 256 + +static inline int gpio_is_valid(int gpio) +{ + if (gpio < 0) + return 0; + if (gpio < ARCH_NR_GPIOS) + return 1; + return 0; +} + void gpio_set_value(unsigned gpio, int value); int gpio_get_value(unsigned gpio); int gpio_direction_output(unsigned gpio, int value);