Input: synaptics - add manual min/max quirk
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Fri, 28 Mar 2014 07:43:00 +0000 (00:43 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 9 Apr 2014 01:20:44 +0000 (02:20 +0100)
commitd4249ff3b36d6560b19ef5b84d96c8d382e85d91
tree9da3cc75b38134823f9e3c2810252db6fbce6650
parente08e9457eeba01608645e398c7e69b2fb40e31a9
Input: synaptics - add manual min/max quirk

commit 421e08c41fda1f0c2ff6af81a67b491389b653a5 upstream.

The new Lenovo Haswell series (-40's) contains a new Synaptics touchpad.
However, these new Synaptics devices report bad axis ranges.
Under Windows, it is not a problem because the Windows driver uses RMI4
over SMBus to talk to the device. Under Linux, we are using the PS/2
fallback interface and it occurs the reported ranges are wrong.

Of course, it would be too easy to have only one range for the whole
series, each touchpad seems to be calibrated in a different way.

We can not use SMBus to get the actual range because I suspect the firmware
will switch into the SMBus mode and stop talking through PS/2 (this is the
case for hybrid HID over I2C / PS/2 Synaptics touchpads).

So as a temporary solution (until RMI4 land into upstream), start a new
list of quirks with the min/max manually set.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/input/mouse/synaptics.c