Re: [PATCH] platform/x86: ideapad-laptop: Add has_touchpad_switch

From: Barnabás Pőcze
Date: Fri Jan 01 2021 - 12:10:42 EST


Hi


2021. január 1., péntek 17:08 keltezéssel, Jiaxun Yang írta:

> [...]
> > > @@ -1006,6 +1018,10 @@ static int ideapad_acpi_add(struct platform_device *pdev)
> > > if (!priv->has_hw_rfkill_switch)
> > > write_ec_cmd(priv->adev->handle, VPCCMD_W_RF, 1);
> > >
> > > + /* The same for Touchpad */
> > > + if (!priv->has_touchpad_switch)
> > > + write_ec_cmd(priv->adev->handle, VPCCMD_W_TOUCHPAD, 1);
> > > +
> >
> > Shouldn't it be the other way around: `if (priv->has_touchpad_switch)`?
>
> It is to prevent accidentally disable touchpad on machines that do have EC switch,
> so it's intentional.
> [...]

Sorry, but the explanation not fully clear to me. The commit message seems to
indicate that some models "do not use EC to switch touchpad", and I take that
means that reading from VPCCMD_R_TOUCHPAD will not reflect the actual state of the
touchpad and writing to VPCCMD_W_TOUCHPAD will not change the state of the touchpad.

But then why do you still write to VPCCMD_W_TOUCHPAD on devices where supposedly
this does not have any effect (at least not the desired one)? And the part of the
code I made my comment about only runs on machines on which the touchpad supposedly
cannot be controlled by the EC. What am I missing?

And there is the other problem: on some machines, this patch removes working
functionality.


Regards,
Barnabás Pőcze