Re: [PATCH] Input: synaptics_rmi4 - register F03 port as pass-through serio
From: Benjamin Tissoires
Date: Wed Jun 07 2017 - 03:03:06 EST
On Jun 06 2017 or thereabouts, Dmitry Torokhov wrote:
> 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: Damjan Georgievski <gdamjan@xxxxxxxxx>
> Suggested-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> ---
Thanks for the extensive commit message :)
Acked-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
(tested on a t450s without problems).
Cheers,
Benjamin
> drivers/input/rmi4/rmi_f03.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/input/rmi4/rmi_f03.c b/drivers/input/rmi4/rmi_f03.c
> index 77dad045a468..ad71a5e768dc 100644
> --- a/drivers/input/rmi4/rmi_f03.c
> +++ b/drivers/input/rmi4/rmi_f03.c
> @@ -146,7 +146,7 @@ static int rmi_f03_register_pt(struct f03_data *f03)
> if (!serio)
> return -ENOMEM;
>
> - serio->id.type = SERIO_8042;
> + serio->id.type = SERIO_PS_PSTHRU;
> serio->write = rmi_f03_pt_write;
> serio->port_data = f03;
>
> --
> 2.13.0.506.g27d5fe0cd-goog
>
>
> --
> Dmitry