summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJosua Mayer <josua@solid-run.com>2025-12-18 21:38:55 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2025-12-18 21:46:55 -0800
commita2c5ea4235b18781c3926bbb983d8314c45d6345 (patch)
tree4aa88d768c6cac5dd8415020cd6164fc0ff8076a /drivers
parentec8fce2a57e96e07d82d4e884430c2cb6c048998 (diff)
downloadlwn-a2c5ea4235b18781c3926bbb983d8314c45d6345.tar.gz
lwn-a2c5ea4235b18781c3926bbb983d8314c45d6345.zip
Input: ilitek_ts_i2c - fix warning with gpio controllers that sleep
The ilitek touchscreen driver uses the non-sleeping gpiod_set_value function for reset. Switch to using gpiod_set_value_cansleep() when controlling reset_gpio to support GPIO providers that may sleep, such as I2C GPIO expanders. Further switch the mdelay calls on the reset path to fsleep (preferred in non-atomic contexts). This fixes noisy complaints in kernel log for gpio providers that do sleep. Signed-off-by: Josua Mayer <josua@solid-run.com> Link: https://patch.msgid.link/20251201-imx8mp-hb-iiot-v4-2-53a4cd6c21bf@solid-run.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/input/touchscreen/ilitek_ts_i2c.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/input/touchscreen/ilitek_ts_i2c.c b/drivers/input/touchscreen/ilitek_ts_i2c.c
index 0dd632724a00..10e5530d6a5d 100644
--- a/drivers/input/touchscreen/ilitek_ts_i2c.c
+++ b/drivers/input/touchscreen/ilitek_ts_i2c.c
@@ -396,10 +396,10 @@ static const struct ilitek_protocol_map ptl_func_map[] = {
static void ilitek_reset(struct ilitek_ts_data *ts, int delay)
{
if (ts->reset_gpio) {
- gpiod_set_value(ts->reset_gpio, 1);
- mdelay(10);
- gpiod_set_value(ts->reset_gpio, 0);
- mdelay(delay);
+ gpiod_set_value_cansleep(ts->reset_gpio, 1);
+ fsleep(10000);
+ gpiod_set_value_cansleep(ts->reset_gpio, 0);
+ fsleep(delay * 1000);
}
}