summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2023-03-14 02:31:45 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-03-22 13:33:52 +0100
commitb9e80aa64ee057b68b77b9ced6db45185c555fb6 (patch)
treedab880b6e5c2ccf908ab731432557acd110abdae
parent8a3876f8c79f5b4160d31d881d205b6ac76e961b (diff)
downloadlinux-b9e80aa64ee057b68b77b9ced6db45185c555fb6.tar.gz
hwmon: (adm1266) Set `can_sleep` flag for GPIO chip
[ Upstream commit a5bb73b3f5db1a4e91402ad132b59b13d2651ed9 ]

The adm1266 driver uses 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: d98dfad35c38 ("hwmon: (pmbus/adm1266) Add support for GPIOs")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20230314093146.2443845-1-lars@metafoo.de
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/hwmon/pmbus/adm1266.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/hwmon/pmbus/adm1266.c b/drivers/hwmon/pmbus/adm1266.c
index ec5f932fc6f0..1ac2b2f4c570 100644
--- a/drivers/hwmon/pmbus/adm1266.c
+++ b/drivers/hwmon/pmbus/adm1266.c
@@ -301,6 +301,7 @@ static int adm1266_config_gpio(struct adm1266_data *data)
 	data->gc.label = name;
 	data->gc.parent = &data->client->dev;
 	data->gc.owner = THIS_MODULE;
+	data->gc.can_sleep = true;
 	data->gc.base = -1;
 	data->gc.names = data->gpio_names;
 	data->gc.ngpio = ARRAY_SIZE(data->gpio_names);