Input: synaptics - update OLPC XO exclusion
authorDaniel Drake <dsd@laptop.org>
Sat, 12 Nov 2011 00:05:04 +0000 (16:05 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 15 Nov 2011 17:46:29 +0000 (09:46 -0800)
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>
drivers/input/mouse/synaptics.c

index a3bb49cb691c8a2bc1f34b498c695f386685d985..06c9ee57951e1d4b121431ff3fa77d2d8a789336 100644 (file)
@@ -1389,15 +1389,12 @@ static int __synaptics_init(struct psmouse *psmouse, bool absolute_mode)
        int err = -1;
 
        /*
-        * The OLPC XO has issues with Synaptics' absolute mode; similarly to
-        * the HGPK, it quickly degrades and the hardware becomes jumpy and
-        * overly sensitive.  Not only that, but the constant packet spew
-        * (even at a lowered 40pps rate) overloads the EC such that key
-        * presses on the keyboard are missed.  Given all of that, don't
-        * even attempt to use Synaptics mode.  Relative mode seems to work
-        * just fine.
+        * The OLPC XO has issues with Synaptics' absolute mode; the constant
+        * packet spew overloads the EC such that key presses on the keyboard
+        * are missed.  Given that, don't even attempt to use Absolute mode.
+        * Relative mode seems to work just fine.
         */
-       if (broken_olpc_ec) {
+       if (absolute_mode && broken_olpc_ec) {
                psmouse_info(psmouse,
                             "OLPC XO detected, not enabling Synaptics protocol.\n");
                return -ENODEV;