Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1659421 > unrolled thread
| Started by | Dmitry Torokhov <dmitry.torokhov@gmail.com> |
|---|---|
| First post | 2017-06-07 09:00 +0200 |
| Last post | 2017-06-07 09:10 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] Input: synaptics_rmi4 - register F03 port as pass-through serio Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-06-07 09:00 +0200
Re: [PATCH] Input: synaptics_rmi4 - register F03 port as pass-through serio Benjamin Tissoires <benjamin.tissoires@redhat.com> - 2017-06-07 09:10 +0200
| From | Dmitry Torokhov <dmitry.torokhov@gmail.com> |
|---|---|
| Date | 2017-06-07 09:00 +0200 |
| Subject | [PATCH] Input: synaptics_rmi4 - register F03 port as pass-through serio |
| Message-ID | <tPD6G-34T-17@gated-at.bofh.it> |
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@gmail.com> Suggested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> --- 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
[toc] | [next] | [standalone]
| From | Benjamin Tissoires <benjamin.tissoires@redhat.com> |
|---|---|
| Date | 2017-06-07 09:10 +0200 |
| Subject | Re: [PATCH] Input: synaptics_rmi4 - register F03 port as pass-through serio |
| Message-ID | <tPDgl-3om-1@gated-at.bofh.it> |
| In reply to | #1659421 |
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@gmail.com> > Suggested-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> > --- Thanks for the extensive commit message :) Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> (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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web