diff options
| author | Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | 2025-11-03 10:35:24 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-11-13 15:34:37 -0500 |
| commit | 5a0aca55e84d931ea0bda8e3ea4bc036784b7eeb (patch) | |
| tree | a8b06f74f79a22e4fc7fc424d9d7869e36d79197 | |
| parent | a4a701a81600624d57e58318f17aa800143f4d09 (diff) | |
| download | linux-5a0aca55e84d931ea0bda8e3ea4bc036784b7eeb.tar.gz linux-5a0aca55e84d931ea0bda8e3ea4bc036784b7eeb.tar.bz2 linux-5a0aca55e84d931ea0bda8e3ea4bc036784b7eeb.zip | |
gpio: swnode: don't use the swnode's name as the key for GPIO lookup
[ Upstream commit e5d527be7e6984882306b49c067f1fec18920735 ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
| -rw-r--r-- | drivers/gpio/gpiolib-swnode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpio/gpiolib-swnode.c b/drivers/gpio/gpiolib-swnode.c index 51d2475c05c5..bb652921585e 100644 --- a/drivers/gpio/gpiolib-swnode.c +++ b/drivers/gpio/gpiolib-swnode.c @@ -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); } |
