hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/input/touchscreen/stmfts.c
....@@ -198,7 +198,7 @@
198198 u8 slot_id = (event[0] & STMFTS_MASK_TOUCH_ID) >> 4;
199199
200200 input_mt_slot(sdata->input, slot_id);
201
- input_mt_report_slot_state(sdata->input, MT_TOOL_FINGER, false);
201
+ input_mt_report_slot_inactive(sdata->input);
202202
203203 input_sync(sdata->input);
204204 }
....@@ -255,7 +255,7 @@
255255 case STMFTS_EV_SLEEP_OUT_CONTROLLER_READY:
256256 case STMFTS_EV_STATUS:
257257 complete(&sdata->cmd_done);
258
- /* fall through */
258
+ fallthrough;
259259
260260 case STMFTS_EV_NO_EVENT:
261261 case STMFTS_EV_DEBUG:
....@@ -337,13 +337,15 @@
337337 struct stmfts_data *sdata = input_get_drvdata(dev);
338338 int err;
339339
340
- err = pm_runtime_get_sync(&sdata->client->dev);
341
- if (err < 0)
340
+ err = pm_runtime_resume_and_get(&sdata->client->dev);
341
+ if (err)
342342 return err;
343343
344344 err = i2c_smbus_write_byte(sdata->client, STMFTS_MS_MT_SENSE_ON);
345
- if (err)
345
+ if (err) {
346
+ pm_runtime_put_sync(&sdata->client->dev);
346347 return err;
348
+ }
347349
348350 mutex_lock(&sdata->mutex);
349351 sdata->running = true;