]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gpiolib: Use fwnode instead of device in gpiochip_get_ngpios()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 13 Feb 2025 19:48:47 +0000 (21:48 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Fri, 21 Feb 2025 08:42:45 +0000 (09:42 +0100)
The gpiochip_get_ngpios() can be used in the cases where passed device
is not a provider of the certain property. Use fwnode instead.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Reviewed-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Link: https://lore.kernel.org/r/20250213195621.3133406-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpiolib.c

index ba3de5f7d2038e3d3a889c0f3abe18c8d187282a..6375533782358540f14c75117bbd6118680aefa9 100644 (file)
@@ -900,11 +900,12 @@ static struct fwnode_handle *gpiochip_choose_fwnode(struct gpio_chip *gc)
 
 int gpiochip_get_ngpios(struct gpio_chip *gc, struct device *dev)
 {
+       struct fwnode_handle *fwnode = gpiochip_choose_fwnode(gc);
        u32 ngpios = gc->ngpio;
        int ret;
 
        if (ngpios == 0) {
-               ret = device_property_read_u32(dev, "ngpios", &ngpios);
+               ret = fwnode_property_read_u32(fwnode, "ngpios", &ngpios);
                if (ret == -ENODATA)
                        /*
                         * -ENODATA means that there is no property found and