]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Revert "gpio: swnode: don't use the swnode's name as the key for GPIO lookup"
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Tue, 25 Nov 2025 10:29:24 +0000 (10:29 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Dec 2025 10:46:08 +0000 (11:46 +0100)
This reverts commit 25decf0469d4c91d90aa2e28d996aed276bfc622.

This software node change doesn't actually fix any current issues
with the kernel, it is an improvement to the lookup process rather
than fixing a live bug. It also causes a couple of regressions with
shipping laptops, which relied on the label based lookup.

There is a fix for the regressions in mainline, the first 5 patches
of [1]. However, those patches are fairly substantial changes and
given the patch causing the regression doesn't actually fix a bug
it seems better to just revert it in stable.

CC: stable@vger.kernel.org # 6.12, 6.17
Link: https://lore.kernel.org/linux-sound/20251120-reset-gpios-swnodes-v7-0-a100493a0f4b@linaro.org/
Closes: https://github.com/thesofproject/linux/issues/5599
Closes: https://github.com/thesofproject/linux/issues/5603
Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpio/gpiolib-swnode.c

index e3806db1c0e077d76fcc71a50ca40bbf6872ca40..f21dbc28cf2c8c2d06d034b7c89d302cc52bb9b5 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_fwnode(fwnode);
+       gdev = gpio_device_find_by_label(gdev_node->name);
        return gdev ?: ERR_PTR(-EPROBE_DEFER);
 }