Merge branch 'for-5.12/multitouch' into for-linus

- hid-multitouch devices should be put into high-latency mode when
  suspended in order to be in line with Windows Precision Touchpad
  guidelines. From Blaž Hrastnik.
This commit is contained in:
Jiri Kosina 2021-02-23 11:36:19 +01:00
commit 31d31fa52c

View File

@ -1747,6 +1747,13 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
} }
#ifdef CONFIG_PM #ifdef CONFIG_PM
static int mt_suspend(struct hid_device *hdev, pm_message_t state)
{
/* High latency is desirable for power savings during S3/S0ix */
mt_set_modes(hdev, HID_LATENCY_HIGH, true, true);
return 0;
}
static int mt_reset_resume(struct hid_device *hdev) static int mt_reset_resume(struct hid_device *hdev)
{ {
mt_release_contacts(hdev); mt_release_contacts(hdev);
@ -1762,6 +1769,8 @@ static int mt_resume(struct hid_device *hdev)
hid_hw_idle(hdev, 0, 0, HID_REQ_SET_IDLE); hid_hw_idle(hdev, 0, 0, HID_REQ_SET_IDLE);
mt_set_modes(hdev, HID_LATENCY_NORMAL, true, true);
return 0; return 0;
} }
#endif #endif
@ -2155,6 +2164,7 @@ static struct hid_driver mt_driver = {
.event = mt_event, .event = mt_event,
.report = mt_report, .report = mt_report,
#ifdef CONFIG_PM #ifdef CONFIG_PM
.suspend = mt_suspend,
.reset_resume = mt_reset_resume, .reset_resume = mt_reset_resume,
.resume = mt_resume, .resume = mt_resume,
#endif #endif