From: Lars-Peter Clausen Date: Tue, 14 Mar 2023 09:31:46 +0000 (-0700) Subject: hwmon: (ltc2992) Set `can_sleep` flag for GPIO chip X-Git-Tag: baikal/mips/sdk6.1~102 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=a1a073a40ebe20e0e88faa8496a53b7b461eea68;p=kernel.git hwmon: (ltc2992) Set `can_sleep` flag for GPIO chip [ 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 Link: https://lore.kernel.org/r/20230314093146.2443845-2-lars@metafoo.de Signed-off-by: Guenter Roeck Signed-off-by: Sasha Levin --- diff --git a/drivers/hwmon/ltc2992.c b/drivers/hwmon/ltc2992.c index 72489d5d7eaf9..d88e883c7492c 100644 --- a/drivers/hwmon/ltc2992.c +++ b/drivers/hwmon/ltc2992.c @@ -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);