Commit a0897d5f authored by Dmitry Torokhov's avatar Dmitry Torokhov

Input: synaptics-rmi4 - register F03 port as pass-through serio

The 5th generation Thinkpad X1 Carbons use Synaptics touchpads accessible
over SMBus/RMI, combined with ALPS or Elantech trackpoint devices instead
of classic IBM/Lenovo trackpoints. Unfortunately there is no way for ALPS
driver to detect whether it is dealing with touchpad + trackpoint
combination or just a trackpoint, so we end up with a "phantom" dualpoint
ALPS device in addition to real touchpad and trackpoint.

Given that we do not have any special advanced handling for ALPS or
Elantech trackpoints (unlike IBM trackpoints that have separate driver and
a host of options) we are better off keeping the trackpoints in PS/2
emulation mode. We achieve that by setting serio type to SERIO_PS_PSTHRU,
which will limit number of protocols psmouse driver will try. In addition
to getting rid of the "phantom" touchpads, this will also speed up probing
of F03 pass-through port.
Reported-by: default avatarDamjan Georgievski <gdamjan@gmail.com>
Suggested-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 47eb0c8b
...@@ -146,7 +146,7 @@ static int rmi_f03_register_pt(struct f03_data *f03) ...@@ -146,7 +146,7 @@ static int rmi_f03_register_pt(struct f03_data *f03)
if (!serio) if (!serio)
return -ENOMEM; return -ENOMEM;
serio->id.type = SERIO_8042; serio->id.type = SERIO_PS_PSTHRU;
serio->write = rmi_f03_pt_write; serio->write = rmi_f03_pt_write;
serio->port_data = f03; serio->port_data = f03;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment