[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201410151957.37855@pali>
Date: Wed, 15 Oct 2014 19:57:37 +0200
From: Pali Rohár <pali.rohar@...il.com>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc: Hans de Goede <hdegoede@...hat.com>,
Yunkang Tang <yunkang.tang@...alps.com>,
Tommy Will <tommywill2011@...il.com>,
linux-input@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/3] input: alps: Reset mouse before identifying it
On Wednesday 15 October 2014 19:43:15 Dmitry Torokhov wrote:
> On Wed, Oct 15, 2014 at 02:53:11PM +0200, Pali Rohár wrote:
> > On Tuesday 14 October 2014 08:08:34 Dmitry Torokhov wrote:
> > > On Fri, Oct 03, 2014 at 11:47:59AM +0200, Hans de Goede
wrote:
> > > > Hi,
> > > >
> > > > Thanks for working on this!
> > > >
> > > > On 10/03/2014 11:43 AM, Pali Rohár wrote:
> > > > > On some systems after starting computer function
> > > > > alps_identify() does not detect dual ALPS
> > > > > touchpad+trackstick device correctly and detect only
> > > > > touchpad.
> > > > >
> > > > > Resetting ALPS device before identifiying it fixing
> > > > > this problem and both parts touchpad and trackstick
> > > > > are detected.
> > > > >
> > > > > Signed-off-by: Pali Rohár <pali.rohar@...il.com>
> > > > > Tested-by: Pali Rohár <pali.rohar@...il.com>
> > > >
> > > > Looks good and seems sensible:
> > > >
> > > > Acked-by: Hans de Goede <hdegoede@...hat.com>
> > >
> > > *sigh* I am not really happy about this, as we making boot
> > > longer and longer for people without ALPS touchpads. It
> > > would be better if we only reset the mouse when we knew
> > > we are dealing with ALPS, and even better if we only
> > > reset it when we suspected that we missed trackstick. Any
> > > chance of doing this?
> > >
> > > Thanks.
> >
> > Dmitry, problem is that function check which detecting
> > trackstick does not working when I start my laptop from
> > power-off state and do not reset PS/2 device. But detecting
> > ALPS touchpad looks like working. So if do not like this
> > idea, what about doing something like this in alps_dectect
> > function?
> >
> > int alps_detect(...)
> > {
> > ...
> > /* detect if device is ALPS */
> > if (alps_identify(...) < 0)
> > return -1;
> > /* now we know that device is ALPS */
> > if (!(flags & ALPS_DUALPOINT)) {
> > /* reset it and identify again, maybe there is trackstick */
> > psmouse_reset(...);
> > alps_identify(...);
> > }
> > ...
> > }
> >
> > It will does not affect non ALPS devices (because first
> > identify call will fail), but will affect ALPS devices
> > without trackstick (because identify will be called twice
> > and reset too).
>
> I think this is a step in right direction. Do you know what
> exactly fails in alps_identify() on your box if you do not
> call psmouse_reset?
>
> Thanks.
Yes, I know. It is failing in alps_probe_trackstick_v3(). It
calls alps_command_mode_read_reg(...) and it returns 0 which
means trackstick is not there.
--
Pali Rohár
pali.rohar@...il.com
Download attachment "signature.asc " of type "application/pgp-signature" (199 bytes)
Powered by blists - more mailing lists