HID: i2c-hid: Add no-irq-after-reset quirk for 0911:5288 device
authorHans de Goede <hdegoede@redhat.com>
Tue, 7 Nov 2017 12:28:00 +0000 (13:28 +0100)
committerJiri Kosina <jkosina@suse.cz>
Thu, 9 Nov 2017 11:51:24 +0000 (12:51 +0100)
commit402946a8ef71ebfd1cbb19829db2da62906f0519
tree838d60cdfed9990a41789fca113d4830edcd8c8e
parentcde3076bdc38bf436e517a379759a9092c6ffd4f
HID: i2c-hid: Add no-irq-after-reset quirk for 0911:5288 device

Several cheap Apollo Lake based laptops / 2-in-1s use an i2c-hid mt
touchpad which is advertised by the DSDT with an ACPI HID of "SYNA3602",
this touchpad can be found on e.g. the Cube Thinker and the EZBook 3 Pro.

On my "T-bao Tbook air" the i2c-hid driver fails to bind to this touchpad:
"i2c_hid i2c-SYNA3602:00: failed to reset device.".

After some debuging this it seems that this touchpad simply never sends
an interrupt after a reset as expected by the i2c hid driver. This commit
adds a quirk for this device, making i2c_hid_command sleep 100ms after
a reset instead of waiting for an irq, fixing i2c-hid failing to bind to
this touchpad.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-ids.h
drivers/hid/i2c-hid/i2c-hid.c