]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
gpio: wcd934x: mark the GPIO controller as sleeping
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 24 Sep 2025 14:51:29 +0000 (16:51 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 Oct 2025 14:33:43 +0000 (16:33 +0200)
[ Upstream commit b5f8aa8d4bde0cf3e4595af5a536da337e5f1c78 ]

The slimbus regmap passed to the GPIO driver down from MFD does not use
fast_io. This means a mutex is used for locking and thus this GPIO chip
must not be used in atomic context. Change the can_sleep switch in
struct gpio_chip to true.

Fixes: 59c324683400 ("gpio: wcd934x: Add support to wcd934x gpio controller")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpio-wcd934x.c

index cfa7b0a50c8e339603bc5fc70a8d7354f3bc6486..03b16b8f639ad0faf23b7f107d01dce89a46bd4f 100644 (file)
@@ -102,7 +102,7 @@ static int wcd_gpio_probe(struct platform_device *pdev)
        chip->base = -1;
        chip->ngpio = WCD934X_NPINS;
        chip->label = dev_name(dev);
-       chip->can_sleep = false;
+       chip->can_sleep = true;
 
        return devm_gpiochip_add_data(dev, chip, data);
 }