Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
-diff --git a/Documentation/gpio.txt b/Documentation/gpio.txt
-index 5463009..c35ca9e 100644
--- a/Documentation/gpio.txt
+++ b/Documentation/gpio.txt
-@@ -107,6 +107,16 @@ type of GPIO controller, and on one particular board 80-95 with an FPGA.
+@@ -107,6 +107,16 @@ type of GPIO controller, and on one part
The numbers need not be contiguous; either of those platforms could also
use numbers 2000-2063 to identify GPIOs in a bank of I2C GPIO expanders.
Whether a platform supports multiple GPIO controllers is currently a
platform-specific implementation issue.
-diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
-index eb75d12..623fcd9 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -99,7 +99,7 @@ int gpiochip_add(struct gpio_chip *chip)
status = -EINVAL;
goto fail;
}
-@@ -174,7 +174,7 @@ int gpio_request(unsigned gpio, const char *label)
+@@ -174,7 +174,7 @@ int gpio_request(unsigned gpio, const ch
spin_lock_irqsave(&gpio_lock, flags);
WARN_ON(extra_checks);
return;
}
-@@ -245,7 +245,7 @@ const char *gpiochip_is_requested(struct gpio_chip *chip, unsigned offset)
+@@ -245,7 +245,7 @@ const char *gpiochip_is_requested(struct
{
unsigned gpio = chip->base + offset;
goto fail;
chip = desc->chip;
if (!chip || !chip->get || !chip->direction_input)
-@@ -314,7 +314,7 @@ int gpio_direction_output(unsigned gpio, int value)
+@@ -314,7 +314,7 @@ int gpio_direction_output(unsigned gpio,
spin_lock_irqsave(&gpio_lock, flags);
goto fail;
chip = desc->chip;
if (!chip || !chip->set || !chip->direction_output)
-@@ -531,7 +531,7 @@ static int gpiolib_show(struct seq_file *s, void *unused)
+@@ -531,7 +531,7 @@ static int gpiolib_show(struct seq_file
/* REVISIT this isn't locked against gpio_chip removal ... */
if (chip == gpio_desc[gpio].chip)
continue;
chip = gpio_desc[gpio].chip;
-diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
-index 7e77b6f..464c5b3 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
@@ -16,6 +16,12 @@
struct seq_file;
struct module;
-@@ -99,6 +105,12 @@ extern int __gpio_cansleep(unsigned gpio);
+@@ -99,6 +105,16 @@ extern int __gpio_cansleep(unsigned gpio
#else
-+static inline int gpio_is_valid(int number)
++static inline int __gpio_is_valid(int number)
+{
+ /* only non-negative numbers are valid */
+ return number >= 0;
+}
++
++#ifndef gpio_is_valid
++#define gpio_is_valid __gpio_is_valid
++#endif
+
/* platforms that don't directly support access to GPIOs through I2C, SPI,
* or other blocking infrastructure can use these wrappers.