]> git.baikalelectronics.ru Git - kernel.git/commitdiff
hwmon: (ltc2992) Set `can_sleep` flag for GPIO chip
authorLars-Peter Clausen <lars@metafoo.de>
Tue, 14 Mar 2023 09:31:46 +0000 (02:31 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Mar 2023 12:33:52 +0000 (13:33 +0100)
[ Upstream commit 5fe2c5b8b233d8c34b57a0bf7982fbcc24250352 ]

The ltc2992 drivers uses a mutex and I2C bus access in its GPIO chip `set`
and `get` implementation. This means these functions can sleep and the GPIO
chip should set the `can_sleep` property to true.

This will ensure that a warning is printed when trying to set or get the
GPIO value from a context that potentially can't sleep.

Fixes: e50ae317a546 ("hwmon: (ltc2992) Add support for GPIOs.")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20230314093146.2443845-2-lars@metafoo.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hwmon/ltc2992.c

index 72489d5d7eaf9734403009e1c1408f8630451ca9..d88e883c7492c9938825dc110382235d85e3a9d2 100644 (file)
@@ -323,6 +323,7 @@ static int ltc2992_config_gpio(struct ltc2992_state *st)
        st->gc.label = name;
        st->gc.parent = &st->client->dev;
        st->gc.owner = THIS_MODULE;
+       st->gc.can_sleep = true;
        st->gc.base = -1;
        st->gc.names = st->gpio_names;
        st->gc.ngpio = ARRAY_SIZE(st->gpio_names);