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 611c88c..6a934de 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)