Re: [PATCH] platform/x86: ideapad-laptop: Add sysfs interface for touchpad state

From: Dmitry Torokhov
Date: Fri Feb 17 2017 - 14:52:46 EST

On Fri, Feb 17, 2017 at 02:49:00PM +0530, Ritesh Raj Sarraf wrote:
> Hash: SHA512
> Hello Dmitry,
> On Fri, 2017-02-17 at 00:48 -0800, Dmitry Torokhov wrote:
> > It looks like the patch is trying to provide a way to disable the
> > touchpad when transitioning in tablet mode.
> The keyboard/touchpad get disabled, by hardware, when flipped to tablet mode.
> Since currently, the driver has no way to expose a tablet-mode interface, we
> relied on this behavior, for the Lenovo Yoga device types.
> > In ChromeOS we have a notion
> > of "inhibiting" input devices, where userspace policy daemon tells the
> > kernel that it is not interested in events from a given device and input
> > core will suppress events from such device (and driver may optionally
> > put device into low power mode, if it chooses to do so). But in this
> > case the control seems to be totally outside of the input driver (which
> > I suspect is PS/2 device), so the policy daemon would have to have
> > specific knowledge of this new knob.
> >
> > BTW, I am not sure if this is actually reliable: if system goes to S3
> > with lid open and user changes it into tablet form, nobody will tell the
> > EC that touchpad should be ignored and it will wake up the tablet.
> I am not sure what you mean here. But:
> root@learner:/sys/bus/platform/devices/VPC2004:00# When in normal mode^C
> root@learner:/sys/bus/platform/devices/VPC2004:00# cat touchpad_mode 
> 1
> S3 Suspend here. THen flip hw to tablet mode. Now, hit power btn to Resume.
> root@learner:/sys/bus/platform/devices/VPC2004:00# Now in tablet mode^C
> root@learner:/sys/bus/platform/devices/VPC2004:00# cat touchpad_mode 
> 0

OK, if firmware disables the touchpad automatically, then it is fine.

I am wondering about the utility of the new interface though. Are there
already major users of it? If there are no users, then there is no point
in adding it, it will stay there unused and forgotten by anyone.
Teaching ideapad to emit SW_TABLET_MODE is more useful IMO.