]> 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:43:40 +0000 (11:43 +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 bb652921585eab07dbc6b6e521ae1129391d2fbe..51d2475c05c57c7e9922dd534adf15c4bb3d2b1b 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);
 }