gpiolib: Reuse return variable in gpiod_to_irq()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 16 Apr 2025 09:55:15 +0000 (12:55 +0300)
committerBartosz Golaszewski <brgl@bgdev.pl>
Thu, 17 Apr 2025 13:22:06 +0000 (15:22 +0200)
There are two variables for the same used in the gpiod_to_irq().
Replace the second by reusing the function top-level one.
While at it, refactor the branch to have less lines of code.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20250416095645.2027695-8-andriy.shevchenko@linux.intel.com
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpiolib.c

index 8a47d861d8368120aadddf91ae5191689298904b..3243ef3fc7d8b508ca60ed57c958dea07ba260d1 100644 (file)
@@ -3994,13 +3994,12 @@ int gpiod_to_irq(const struct gpio_desc *desc)
 
        offset = gpio_chip_hwgpio(desc);
        if (gc->to_irq) {
-               int retirq = gc->to_irq(gc, offset);
+               ret = gc->to_irq(gc, offset);
+               if (ret)
+                       return ret;
 
                /* Zero means NO_IRQ */
-               if (!retirq)
-                       return -ENXIO;
-
-               return retirq;
+               return -ENXIO;
        }
 #ifdef CONFIG_GPIOLIB_IRQCHIP
        if (gc->irq.chip) {