linux/drivers/input/serio
Ondrej Zary c11fff9217 Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad
commit 04bb1719c4 upstream.

The touch sensor buttons on Sony VAIO VGN-CS series laptops (e.g.
VGN-CS31S) are a separate PS/2 device. As the MUX is disabled for all
VAIO machines by the nomux blacklist, the data from touch sensor
buttons and touchpad are combined. The protocol used by the buttons is
probably similar to the touchpad protocol (both are Synaptics) so both
devices get enabled. The controller combines the data, creating a mess
which results in random button clicks, touchpad stopping working and
lost sync error messages:
psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 4
psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
psmouse serio1: issuing reconnect request

Add a new i8042_dmi_forcemux_table whitelist with VGN-CS.
With MUX enabled, touch sensor buttons are detected as separate device
(and left disabled as there's currently no driver), fixing all touchpad
problems.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2018-10-21 08:45:13 +01:00
..
altera_ps2.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
ambakmi.c Input: ambakmi - fix system PM by converting to modern callbacks 2015-09-30 13:20:35 +01:00
ams_delta_serio.c ARM: OMAP1: Move board-ams-delta.h from plat to mach 2012-09-20 15:02:19 -07:00
apbps2.c Input: apbps2 - make of_device_id array const 2014-05-14 16:39:57 -07:00
arc_ps2.c Input: keyboard, serio - simplify use of devm_ioremap_resource 2013-08-15 00:30:17 -07:00
at32psif.c Input: at32psif - remove redundant platform_set_drvdata() 2013-05-05 20:15:07 -07:00
ct82c710.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
gscps2.c Input: gscps2 - fix MODULE_DEVICE_TABLE invocation 2017-11-11 13:33:42 +00:00
hil_mlc.c Input: HIL - do not call tasklet_disable right before tasklet_kill 2012-11-25 00:10:13 -08:00
hp_sdc.c Input: hp_sdc - use del_timer_sync() in exit path 2014-03-23 17:25:40 -07:00
hp_sdc_mlc.c Input: serio HIL MLC - don't deref null, don't leak and return proper error 2010-11-20 13:38:18 -08:00
hyperv-keyboard.c Input: hyperv-keyboard - pass through 0xE1 prefix 2014-01-12 11:41:56 -08:00
i8042-io.h Input: i8042-io - fix up region handling on MIPS 2012-10-17 23:58:56 -07:00
i8042-ip22io.h Input: make i8042_platform_init return 'real' error code 2005-09-04 01:41:38 -05:00
i8042-jazzio.h Input: make i8042_platform_init return 'real' error code 2005-09-04 01:41:38 -05:00
i8042-ppcio.h Input: i8042 - remove SPRUCE support 2010-06-04 00:44:30 -07:00
i8042-snirm.h Input: i8042 - add SNI RM support 2008-03-14 11:54:06 -04:00
i8042-sparcio.h Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
i8042-unicore32io.h unicore32 io: redefine __REG(x) and re-use readl/writel funcs 2011-03-17 09:19:19 +08:00
i8042-x86ia64io.h Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad 2018-10-21 08:45:13 +01:00
i8042.c Input: i8042 - fix crash at boot time 2017-10-12 15:28:05 +01:00
i8042.h Input: add driver for slidebar on Lenovo IdeaPad laptops 2013-08-26 09:30:03 -07:00
Kconfig Input: olpc_apsp - fix dependencies of OLPC AP-SP driver 2014-03-23 17:26:00 -07:00
libps2.c Input: i8042 - break load dependency between atkbd/psmouse and i8042 2016-11-20 01:16:59 +00:00
maceps2.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
Makefile Input: add a driver to support Hyper-V synthetic keyboard 2013-09-19 08:58:02 -07:00
olpc_apsp.c Input: olpc_apsp - make of_device_id array const 2014-05-14 16:39:57 -07:00
parkbd.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pcips2.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
ps2mult.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
q40kbd.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
rpckbd.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
sa1111ps2.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
serio.c Input: serio - avoid negative serio device numbers 2014-12-01 15:49:23 +00:00
serio_raw.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
serport.c Input: serport - add compat handling for SPIOCSTYPE ioctl 2014-10-05 13:41:05 -07:00
xilinx_ps2.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00