HID: multitouch: fix LG Melfas touchscreen
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Mon, 30 Jan 2017 09:48:06 +0000 (10:48 +0100)
committerJiri Kosina <jkosina@suse.cz>
Fri, 3 Feb 2017 13:45:57 +0000 (14:45 +0100)
commitf3287a995ac3520b1afcf03932b9c405f502657c
treeb54c9641b4d2a6be1d7b8ad6bec8c9db2a245855
parent8e9faa15469ed7c7467423db4c62aeed3ff4cae3
HID: multitouch: fix LG Melfas touchscreen

The LG Melfas touchscreen has a bad firmware where it declares the Contact ID
field as constant while it shouldn't. This messes up the autodetection and the
reporting of the events by hid-multitouch given that hid-input ignores constant
fields.

The autodetection is simply worked around by manually adding the device to
hid_have_special_driver[].

The processing of the events requires either a report fixup, or some specific
case handling. Given that the report fixup would require to basically rewrite
all the report descriptor, I went for the programatic way of fixing that after
the report descriptors are loaded.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=1416181
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-core.c
drivers/hid/hid-ids.h
drivers/hid/hid-multitouch.c