gpiolib: Don't shadow error code of gpiochip_lock_as_irq()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 30 Jul 2018 12:38:31 +0000 (15:38 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 6 Aug 2018 21:46:55 +0000 (23:46 +0200)
gpiochip_lock_as_irq() may return a few error codes,
do not shadow them by -EINVAL and let caller to decide.

No functional change intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib.c

index bdbfc95793e73c7d7a7a87d53dc38ca5f0b4c8d4..6bfd4e5cc1619152cfd119244894b568b423710d 100644 (file)
@@ -1805,16 +1805,18 @@ static const struct irq_domain_ops gpiochip_domain_ops = {
 static int gpiochip_irq_reqres(struct irq_data *d)
 {
        struct gpio_chip *chip = irq_data_get_irq_chip_data(d);
+       int ret;
 
        if (!try_module_get(chip->gpiodev->owner))
                return -ENODEV;
 
-       if (gpiochip_lock_as_irq(chip, d->hwirq)) {
+       ret = gpiochip_lock_as_irq(chip, d->hwirq);
+       if (ret) {
                chip_err(chip,
                        "unable to lock HW IRQ %lu for IRQ\n",
                        d->hwirq);
                module_put(chip->gpiodev->owner);
-               return -EINVAL;
+               return ret;
        }
        return 0;
 }