Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Input: synaptics - update OLPC XO exclusion

We have determined that the jumpiness previously seen when using
the synaptics kernel mouse driver on OLPC XO was due to not using
the synaptics X11 userspace driver - the xf86-input-evdev driver was
interpreting 'finger near pad' signals as movements. Newer versions
of xf86-input-evdev fix this issue.

Additionally, the synaptics kernel driver is now usable on this
platform, but only when run in relative mode.

Update the comment and refine the check to allow the synaptics driver
to run on OLPC XO in relative mode.

We will continue investigating the EC issue as time becomes available.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

authored by

Daniel Drake and committed by
Dmitry Torokhov
83551c01 8d964a28

+5 -8
+5 -8
drivers/input/mouse/synaptics.c
··· 1389 1389 int err = -1; 1390 1390 1391 1391 /* 1392 - * The OLPC XO has issues with Synaptics' absolute mode; similarly to 1393 - * the HGPK, it quickly degrades and the hardware becomes jumpy and 1394 - * overly sensitive. Not only that, but the constant packet spew 1395 - * (even at a lowered 40pps rate) overloads the EC such that key 1396 - * presses on the keyboard are missed. Given all of that, don't 1397 - * even attempt to use Synaptics mode. Relative mode seems to work 1398 - * just fine. 1392 + * The OLPC XO has issues with Synaptics' absolute mode; the constant 1393 + * packet spew overloads the EC such that key presses on the keyboard 1394 + * are missed. Given that, don't even attempt to use Absolute mode. 1395 + * Relative mode seems to work just fine. 1399 1396 */ 1400 - if (broken_olpc_ec) { 1397 + if (absolute_mode && broken_olpc_ec) { 1401 1398 psmouse_info(psmouse, 1402 1399 "OLPC XO detected, not enabling Synaptics protocol.\n"); 1403 1400 return -ENODEV;