gpio: of: Don't return 0 on dt_gpio_count()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 20 Feb 2017 16:15:47 +0000 (18:15 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 16 Mar 2017 20:52:11 +0000 (21:52 +0100)
It's unusual to have error checking like (ret <= 0) in cases when
counting GPIO resources. In case when it's mandatory we propagate the
error (-ENOENT), otherwise we don't use the result.

This makes consistent behaviour across all possible variants called in
gpiod_count().

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

index 530b1ba984a4bbb870a283e3766a217129d3abe7..c788b55dfe85079f4a6ef0e7fbf82fc2c20842ae 100644 (file)
@@ -3122,10 +3122,10 @@ static int dt_gpio_count(struct device *dev, const char *con_id)
                                 gpio_suffixes[i]);
 
                ret = of_gpio_named_count(dev->of_node, propname);
-               if (ret >= 0)
+               if (ret > 0)
                        break;
        }
-       return ret;
+       return ret ? ret : -ENOENT;
 }
 
 static int platform_gpio_count(struct device *dev, const char *con_id)