Thread (3 messages) 3 messages, 2 authors, 2015-09-25

Re: [PATCH] HID: multitouch: Do not fetch initial feature reports for Win8 devices

flat view

From: Mika Westerberg <mika.westerberg@linux.intel.com>
Date: 2015-09-25 14:25:59
Also in: lkml

On Thu, Sep 24, 2015 at 09:16:01PM -0400, Benjamin Tissoires wrote:
quoted
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 426b2f1a3450..1911f7698511 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -1020,14 +1020,16 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
 	/*
 	 * Handle special quirks for Windows 8 certified devices.
 	 */
-	if (id->group == HID_GROUP_MULTITOUCH_WIN_8)
+	if (id->group == HID_GROUP_MULTITOUCH_WIN_8) {
 		/*
 		 * Some multitouch screens do not like to be polled for input
-		 * reports. Fortunately, the Win8 spec says that all touches
-		 * should be sent during each report, making the initialization
-		 * of input reports unnecessary.
+		 * and feature reports. Fortunately, the Win8 spec says that all
+		 * touches should be sent during each report, making the
+		 * initialization of input reports unnecessary.
 		 */
 		hdev->quirks |= HID_QUIRK_NO_INIT_INPUT_REPORTS;
+		hdev->quirks |= HID_QUIRK_NO_INIT_REPORTS;
Problem is that with this quirk, event the features we are interested in
(and that the device should support or Microsoft would complain) are not
pre-read. I think we should set HID_QUIRK_NO_INIT_REPORTS (and remove
HID_QUIRK_NO_INIT_INPUT_REPORTS BTW), and set up a quirk to actually
retrieve the value of the feature in mt_feature_mapping. This way, we
would be sure to only probe for features that are supported (contact
count is the most important one).
Good point. I didn't realize that we actually use those features --
somehow I missed the whole mt_feature_mapping() function :-/

I'll try to implement what you suggested instead. Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help