diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2018-07-30 14:38:31 +0200 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2018-08-06 23:46:55 +0200 |
commit | 3a2f335c418fed18fc3e4b3d0ee0955e8b2c5f21 (patch) | |
tree | 2e6c68bed1271f51624437f6a2591cf49f74fa63 /drivers/gpio | |
parent | gpio: syscon: rockchip: add GRF GPIO support for rk3328 (diff) | |
download | linux-3a2f335c418fed18fc3e4b3d0ee0955e8b2c5f21.tar.xz linux-3a2f335c418fed18fc3e4b3d0ee0955e8b2c5f21.zip |
gpiolib: Don't shadow error code of gpiochip_lock_as_irq()
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>
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpiolib.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index bdbfc95793e7..6bfd4e5cc161 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -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; } |