HID: multitouch: change touch sensor detection in mt_input_configured()
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Fri, 22 Mar 2013 17:38:31 +0000 (18:38 +0100)
committerJiri Kosina <jkosina@suse.cz>
Wed, 27 Mar 2013 13:02:46 +0000 (14:02 +0100)
To implement different methods for pen and touch, the previous
implementation has to be reworked.

This detection of the input attached to the touch sensor is the same
than the one used in mt_report().

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-multitouch.c

index 611c88cbc40e6dd1998c37c20e9b7d68875bdfca..6a934dee1b82e51657d82026b0e3f68e724b8ebe 100644 (file)
@@ -857,13 +857,10 @@ static void mt_post_parse(struct mt_device *td)
 
 static void mt_input_configured(struct hid_device *hdev, struct hid_input *hi)
 {
-       struct input_dev *input = hi->input;
-
-       /* Only initialize slots for MT input devices */
-       if (!test_bit(ABS_MT_POSITION_X, input->absbit))
-               return;
+       struct mt_device *td = hid_get_drvdata(hdev);
 
-       mt_touch_input_configured(hdev, hi);
+       if (hi->report->id == td->mt_report_id)
+               mt_touch_input_configured(hdev, hi);
 }
 
 static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)