Input: synaptics - add manual min/max quirk
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Fri, 28 Mar 2014 07:43:00 +0000 (00:43 -0700)
committerJiri Slaby <jslaby@suse.cz>
Thu, 3 Apr 2014 08:32:24 +0000 (10:32 +0200)
commit0247679c66e193b785e7f1ac9c363612279c214f
treea9215c6d823262deb691ddc64849f74fc85b403b
parent3e477ed8dc6eb0415e9118d691688664080029ed
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: Jiri Slaby <jslaby@suse.cz>
drivers/input/mouse/synaptics.c