Re: [PATCH 1/3] input: alps: Reset mouse before identifying it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
> > > Tested-by: Pali Rohár <pali.rohar@xxxxxxxxx>
> > 
> > Looks good and seems sensible:
> > 
> > Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> 
> *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).

-- 
Pali Rohár
pali.rohar@xxxxxxxxx

Attachment: signature.asc
Description: This is a digitally signed message part.


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux