linux-imx/drivers/input/mouse
Aaron Ma a75a6c8641 Input: trackpoint - force 3 buttons if 0 button is reported
commit f5d07b9e98 upstream.

Lenovo introduced trackpoint compatible sticks with minimum PS/2 commands.
They supposed to reply with 0x02, 0x03, or 0x04 in response to the
"Read Extended ID" command, so we would know not to try certain extended
commands. Unfortunately even some trackpoints reporting the original IBM
version (0x01 firmware 0x0e) now respond with incorrect data to the "Get
Extended Buttons" command:

 thinkpad_acpi: ThinkPad BIOS R0DET87W (1.87 ), EC unknown
 thinkpad_acpi: Lenovo ThinkPad E470, model 20H1004SGE

 psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 0/0

Since there are no trackpoints without buttons, let's assume the trackpoint
has 3 buttons when we get 0 response to the extended buttons query.

Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=196253
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
[bwh: Backported to 3.2: use printk() instead of psmouse_warn()]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
2018-03-03 15:51:02 +00:00
..
alps.c Input: alps - allow up to 2 invalid packets without resetting device 2014-12-14 16:23:56 +00:00
alps.h Input: ALPS - add interleaved protocol support (Dell E6x00 series) 2009-12-15 22:15:25 -08:00
amimouse.c m68k: amiga - Mouse platform device conversion 2010-05-26 19:51:09 +02:00
appletouch.c Input: appletouch - remove extra KERN_DEBUG use from dprintk 2010-10-31 07:16:00 -07:00
atarimouse.c input/atari: Fix mouse movement and button mapping 2011-05-19 18:19:12 +02:00
bcm5974.c Input: bcm5974 - set BUTTONPAD property 2012-12-06 11:20:20 +00:00
elantech.c Input: elantech - add new icbody type 15 2018-03-03 15:50:39 +00:00
elantech.h Input: elantech - fix absolute mode setting on some ASUS laptops 2015-08-07 00:32:02 +01:00
gpio_mouse.c Input: update author email for gpio_mouse, at32psif, and atmel-wm97xx 2011-06-29 00:26:02 -07:00
hgpk.c Input: psmouse - switch to using dev_*() for messages 2011-10-10 18:28:16 -07:00
hgpk.h Input: psmouse - switch to using dev_*() for messages 2011-10-10 18:28:16 -07:00
inport.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
lifebook.c Input: psmouse - switch to using dev_*() for messages 2011-10-10 18:28:16 -07:00
lifebook.h Input: psmouse - do not carry DMI data around 2009-12-03 23:25:36 -08:00
logibm.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00
logips2pp.c Input: psmouse - switch to using dev_*() for messages 2011-10-10 18:28:16 -07:00
logips2pp.h Input: psmouse - use boolean type 2009-09-10 22:11:38 -07:00
Makefile Input: add new driver for Sentelic Finger Sensing Pad 2009-08-19 21:46:09 -07:00
maplemouse.c maple: input: fix up maple mouse driver 2009-04-27 09:22:31 +09:00
pc110pad.c Input: switch to input_abs_*() access functions 2010-08-02 20:29:56 -07:00
psmouse-base.c Input: psmouse - switch to using dev_*() for messages 2011-10-10 18:28:16 -07:00
psmouse.h Input: psmouse - switch to using dev_*() for messages 2011-10-10 18:28:16 -07:00
pxa930_trkball.c Input: remove IRQF_DISABLED from drivers 2011-09-07 14:19:11 -07:00
rpcmouse.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
sentelic.c Input: sentelic - fix retrieving number of buttons 2011-12-29 09:52:59 -08:00
sentelic.h Input: sentelic - fix retrieving number of buttons 2011-12-29 09:52:59 -08:00
sermouse.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00
synaptics_i2c.c Input: synaptics_i2c - wrap suspend and resume in CONFIG_PM_SLEEP 2011-10-06 19:43:00 -07:00
synaptics.c Input: synaptics - handle spurious release of trackstick buttons, again 2016-05-01 00:05:19 +02:00
synaptics.h Input: synaptics - gate forcepad support by DMI check 2014-12-14 16:23:48 +00:00
touchkit_ps2.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
touchkit_ps2.h Input: psmouse - use boolean type 2009-09-10 22:11:38 -07:00
trackpoint.c Input: trackpoint - force 3 buttons if 0 button is reported 2018-03-03 15:51:02 +00:00
trackpoint.h Input: trackpoint - add new trackpoint firmware ID 2017-11-11 13:34:30 +00:00
vsxxxaa.c Fix common misspellings 2011-03-31 11:26:23 -03:00