diff options
| -rw-r--r-- | arch/arm/include/asm/omap_gpio.h | 7 | ||||
| -rw-r--r-- | drivers/gpio/omap_gpio.c | 10 | 
2 files changed, 10 insertions, 7 deletions
| diff --git a/arch/arm/include/asm/omap_gpio.h b/arch/arm/include/asm/omap_gpio.h index 516cc4260..1ebfa8694 100644 --- a/arch/arm/include/asm/omap_gpio.h +++ b/arch/arm/include/asm/omap_gpio.h @@ -49,4 +49,11 @@ extern const struct gpio_bank *const omap_gpio_bank;  #define METHOD_GPIO_24XX	4 +/** + * Check if gpio is valid. + * + * @param gpio	GPIO number + * @return 1 if ok, 0 on error + */ +int gpio_is_valid(int gpio);  #endif /* _GPIO_H_ */ diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c index fc89f2a42..a30d7f060 100644 --- a/drivers/gpio/omap_gpio.c +++ b/drivers/gpio/omap_gpio.c @@ -53,18 +53,14 @@ static inline int get_gpio_index(int gpio)  	return gpio & 0x1f;  } -static inline int gpio_valid(int gpio) +int gpio_is_valid(int gpio)  { -	if (gpio < 0) -		return -1; -	if (gpio < 192) -		return 0; -	return -1; +	return (gpio >= 0) && (gpio < 192);  }  static int check_gpio(int gpio)  { -	if (gpio_valid(gpio) < 0) { +	if (!gpio_is_valid(gpio)) {  		printf("ERROR : check_gpio: invalid GPIO %d\n", gpio);  		return -1;  	} |