summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2011-03-09 05:35:25 (GMT)
committerJiri Kosina <jkosina@suse.cz>2011-03-14 12:05:07 (GMT)
commitf153fc3990d4ad2709a52d7150e2c04363afb1fb (patch)
tree5b795be60ab76ebaa4366129445f8af738c81287 /drivers
parentb2e7617e09a8e774d7819c629a0989cbddb5d1ab (diff)
downloadlinux-fsl-qoriq-f153fc3990d4ad2709a52d7150e2c04363afb1fb.tar.xz
HID: hid-multitouch: Send events per slot if CONTACTCOUNT is missing
The recent capacitive DWAV firmwares do not use the CONTACTCOUNT field, and the touch frame boundary can therefore not be determined. This patch makes the driver report the touch frame at each completed slot instead. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hid/hid-multitouch.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 69f8744..4518006 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -364,8 +364,11 @@ static int mt_event(struct hid_device *hid, struct hid_field *field,
return 0;
}
- if (usage->hid == td->last_slot_field)
+ if (usage->hid == td->last_slot_field) {
mt_complete_slot(td);
+ if (!td->last_field_index)
+ mt_emit_event(td, field->hidinput->input);
+ }
if (field->index == td->last_field_index
&& td->num_received >= td->num_expected)