Patchwork [U-Boot,V2] gpio: add gpio_is_valid() to omap_gpio API

login
register
mail settings
Submitter Nikita Kiryanov
Date Nov. 28, 2012, 8:40 a.m.
Message ID <1354092057-17736-1-git-send-email-nikita@compulab.co.il>
Download mbox | patch
Permalink /patch/202384/
State Awaiting Upstream
Delegated to: Tom Rini
Headers show

Comments

Nikita Kiryanov - Nov. 28, 2012, 8:40 a.m.
Add gpio_is_valid() to omap_gpio API

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
Changes in V2:
	- Changed the function to act as a predicate

 arch/arm/include/asm/omap_gpio.h |    7 +++++++
 drivers/gpio/omap_gpio.c         |   10 +++-------
 2 files changed, 10 insertions(+), 7 deletions(-)
Tom Rini - Dec. 10, 2012, 8:17 p.m.
On Tue, Nov 27, 2012 at 10:40:57PM -0000, Nikita Kiryanov wrote:

> Add gpio_is_valid() to omap_gpio API
> 
> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>

Applied to u-boot-ti/master, thanks!

Patch

diff --git a/arch/arm/include/asm/omap_gpio.h b/arch/arm/include/asm/omap_gpio.h
index 516cc42..1ebfa86 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 fc89f2a..a30d7f0 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;
 	}