]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
gpio: swnode: don't use the swnode's name as the key for GPIO lookup
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 3 Nov 2025 09:35:24 +0000 (10:35 +0100)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 3 Nov 2025 14:13:23 +0000 (15:13 +0100)
Looking up a GPIO controller by label that is the name of the software
node is wonky at best - the GPIO controller driver is free to set
a different label than the name of its firmware node. We're already being
passed a firmware node handle attached to the GPIO device to
swnode_get_gpio_device() so use it instead for a more precise lookup.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Fixes: e7f9ff5dc90c ("gpiolib: add support for software nodes")
Link: https://lore.kernel.org/r/20251103-reset-gpios-swnodes-v4-4-6461800b6775@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpiolib-swnode.c

index f21dbc28cf2c8c2d06d034b7c89d302cc52bb9b5..e3806db1c0e077d76fcc71a50ca40bbf6872ca40 100644 (file)
@@ -41,7 +41,7 @@ static struct gpio_device *swnode_get_gpio_device(struct fwnode_handle *fwnode)
            !strcmp(gdev_node->name, GPIOLIB_SWNODE_UNDEFINED_NAME))
                return ERR_PTR(-ENOENT);
 
-       gdev = gpio_device_find_by_label(gdev_node->name);
+       gdev = gpio_device_find_by_fwnode(fwnode);
        return gdev ?: ERR_PTR(-EPROBE_DEFER);
 }