Re: [PATCH] HID: multitouch: do not init reports for multitouch devices
From: <hidden>
Date: 2013-07-18 19:23:09
Also in:
lkml
Hi Benjamin,
Some multitouch screens do not like to be polled for input reports. However, the Win8 spec says that all touches should be sent during each report, making the initialization of reports unnecessary. The Win7 spec is less precise, but we can safely assume that when the module is loaded (at boot), no one is touching the screen. Add the quirk HID_QUIRK_NO_INIT_REPORTS so that we do not have to introduce a quirk for each problematic device.
I assume you have tested thoroughly for regressions? How about odd eGalax devices, for instance? Changes affecting existing hardware makes me nervous. Is it so bad to add this quirk on a per-device basis? Or perhaps turned on by default for win8 devices only?
quoted hunk ↗ jump to hunk
Signed-off-by: Benjamin Tissoires <redacted> --- drivers/hid/hid-multitouch.c | 9 +++++++++ 1 file changed, 9 insertions(+)diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index d99b959..197c2e6 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c@@ -957,6 +957,15 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) hdev->quirks |= HID_QUIRK_NO_INPUT_SYNC; /* + * Some multitouch screens do not like to be polled for input reports. + * However, the Win8 spec says that all touches should be sent during + * each report, making the initialization of reports unnecessary. + * The Win7 spec is less precise, but we can safely assume that when + * the module is loaded (at boot), no one is touching the screen. + */ + hdev->quirks |= HID_QUIRK_NO_INIT_REPORTS; + + /* * This allows the driver to handle different input sensors * that emits events through different reports on the same HID * device.-- 1.8.3.1
Thanks, Henrik