summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpiolib.c
diff options
context:
space:
mode:
authorGeert Uytterhoeven2014-11-17 15:31:59 +0100
committerLinus Walleij2014-11-27 15:11:18 +0100
commit86256d1fceff058d5afea6dfcc8a2eac18a71e95 (patch)
treedd17bc67c3fcdb02dceb710dafffaad6218c119d /drivers/gpio/gpiolib.c
parentgpio: mcp23s08: Add simple IRQ support for SPI devices (diff)
downloadkernel-qcow2-linux-86256d1fceff058d5afea6dfcc8a2eac18a71e95.tar.gz
kernel-qcow2-linux-86256d1fceff058d5afea6dfcc8a2eac18a71e95.tar.xz
kernel-qcow2-linux-86256d1fceff058d5afea6dfcc8a2eac18a71e95.zip
gpio: Check if base is positive before calling gpio_is_valid()
It doesn't make much sense to make some (possible expensive) calls to gpio_is_valid() first, and to ignore the result if the base number is negative. Check for a positive base number first. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpiolib.c')
-rw-r--r--drivers/gpio/gpiolib.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index eb739a51e774..12d981a5be66 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -227,8 +227,8 @@ int gpiochip_add(struct gpio_chip *chip)
unsigned id;
int base = chip->base;
- if ((!gpio_is_valid(base) || !gpio_is_valid(base + chip->ngpio - 1))
- && base >= 0) {
+ if (base >= 0 &&
+ (!gpio_is_valid(base) || !gpio_is_valid(base + chip->ngpio - 1))) {
status = -EINVAL;
goto fail;
}