Re: çå: çå: çå: [PATCH] input: alps-fix the issue alps cs19 trackstick do not work.

From: Pali RohÃr
Date: Tue Jun 11 2019 - 13:43:33 EST


On Tuesday 11 June 2019 10:32:28 dmitry.torokhov@xxxxxxxxx wrote:
> On Tue, Jun 11, 2019 at 07:17:07PM +0200, Pali RohÃr wrote:
> > On Tuesday 11 June 2019 10:07:07 dmitry.torokhov@xxxxxxxxx wrote:
> > > On Tue, Jun 11, 2019 at 09:23:33AM +0200, Pali RohÃr wrote:
> > > > On Tuesday 11 June 2019 12:32:33 Hui Wang wrote:
> > > > > On 2019/6/11 äå11:23, Hui Wang wrote:
> > > > > > On 2019/6/11 äå11:05, Xiaoxiao Liu wrote:
> > > > > > > Hi Pali,
> > > > > > >
> > > > > > > I discussed with our FW team about this problem.
> > > > > > > We think the V8 method means a touchpad feature and does not fit
> > > > > > > the CS19 trackpoint device.
> > > > > > > CS19 TrackPoint needn't use any Absolute (Raw) mode and is usually
> > > > > > > use standard mouse data.
> > > > > > > CS19 TrackPoint device is a completely different device with
> > > > > > > DualPoint device of Dell/HP.
> > > > > > > CS19 TrackPoint device is independent of Touchpad. (Touchpad is
> > > > > > > connecting by I2C, TrackPoint is directly connecting with PS2 port.)
> > > > > > > And it has completely another FW.
> > > > > > >
> > > > > > > So we think it is better to use the mouse mode for CS19 trackpoint.
> > > > > >
> > > > > > Maybe here is some mis-understanding, the mouse mode here doesn't mean
> > > > > > we use psmouse-base.c for cs19 (bare ps/2 mouse), we plan to use
> > > > > > trackpoint.c to drive this HW, so this trackpoint has all features a
> > > > > > trackpoint should have.
> > > > > >
> > > > > And I sent a patch one month ago to let the the trackpoint.c to drive this
> > > > > HW: https://www.spinics.net/lists/linux-input/msg61341.html, maybe that
> > > > > patch is reference.
> > > >
> > > > So instead of creating blacklist, you should check for TP_VARIANT_ALPS
> > > > in alps.c and disallow its usage.
> > > >
> > > > Or maybe better, move trackpoint.c detect code before alsp.c detect code
> > > > in psmouse-base. And no changes in alps.c are needed.
> > >
> > > I'd be very cautions of moving around the protocol detection. It is very
> > > fragile, so if we can detect trackpoint-only case in alps.c and skip on
> > > to trackpoint I would prefer it.
> >
> > The main problem is that proposed trackpoint-only check in alps.c is
> > basically what trackpoint.c is doing for checking if device is
> > trackpoint (via function trackpoint_start_protocol()).
> >
> > So I'm not sure now what is the best solution...
>
> Unfortunately currently trackpoint is being probed only after we tried
> Elan, Genius, and Logitech PS2++ protocols, and I am not sure if moving
> trackpoint around will disturb them or not.
>
> I do not think there is much code duplication by pulling limited version
> of trackpoint detection code into alps.c and then have it bail out when
> it sees trackpoint-only device so trackpoint.c can handle it properly.

Ok. Seems that it is the best solution.

The last question is, should be use ALPS or Trackpoint protocol? Because
it looks like that device can be configured to one or other.

What are pros and cons of these two protocols?

--
Pali RohÃr
pali.rohar@xxxxxxxxx

Attachment: signature.asc
Description: PGP signature