summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2017-05-23 20:03:18 +0300
committerLinus Walleij <linus.walleij@linaro.org>2017-05-29 11:17:04 +0200
commitfe06b56cbf9fd6392f31ba1c782a3134daef7c80 (patch)
tree1a87ea64b09deb71be260f024549ea3f7ecc8428
parent9e66504a919439448dfc57052ddf01b96964bdf7 (diff)
downloadlinux-fe06b56cbf9fd6392f31ba1c782a3134daef7c80.tar.gz
linux-fe06b56cbf9fd6392f31ba1c782a3134daef7c80.tar.bz2
linux-fe06b56cbf9fd6392f31ba1c782a3134daef7c80.zip
gpio: acpi: Do sanity check for GpioInt in acpi_find_gpio()
Check that we don't ask for output direction on GpioInt resource in cases with or without _DSD defined. Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/gpio/gpiolib-acpi.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 055a8a255a40..28f35a9de86b 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -622,12 +622,12 @@ struct gpio_desc *acpi_find_gpio(struct device *dev,
desc = acpi_get_gpiod_by_index(adev, NULL, idx, &info);
if (IS_ERR(desc))
return desc;
+ }
- if ((flags == GPIOD_OUT_LOW || flags == GPIOD_OUT_HIGH) &&
- info.gpioint) {
- dev_dbg(dev, "refusing GpioInt() entry when doing GPIOD_OUT_* lookup\n");
- return ERR_PTR(-ENOENT);
- }
+ if (info.gpioint &&
+ (flags == GPIOD_OUT_LOW || flags == GPIOD_OUT_HIGH)) {
+ dev_dbg(dev, "refusing GpioInt() entry when doing GPIOD_OUT_* lookup\n");
+ return ERR_PTR(-ENOENT);
}
if (info.polarity == GPIO_ACTIVE_LOW)