mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Rong Zhang <i@rong.moe>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: "Mark Pearson" <mpearson-lenovo@squebb.ca>,
	"Derek J. Clark" <derekjohn.clark@gmail.com>,
	"Ike Panhc" <ikepanhc@gmail.com>,
	"Hans de Goede" <hansg@kernel.org>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Maxim Mikityanskiy" <maxtram95@gmail.com>,
	platform-driver-x86@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] platform/x86: ideapad-laptop: do not poke keyboard controller
Date: Sat, 24 Oct 2026 23:30:06 +0800	[thread overview]
Message-ID: <5bdb870be988333df200ac7d4904dd1bda6ef52f.camel@rong.moe> (raw)
In-Reply-To: <7b21717e80a7b779ab94d964ca40ee68@gmail.com>

Hi Dmitry,

On Fri, 2026-10-23 at 20:20 -0700, Dmitry Torokhov wrote:
> Hi Rong,
> 
> On Sat, Oct 24, 2026 at 10:15:56AM +0800, Rong Zhang wrote:
> > >  static bool ctrl_ps2_aux_port;
> > >  module_param(ctrl_ps2_aux_port, bool, 0444);
> > >  MODULE_PARM_DESC(ctrl_ps2_aux_port,
> > > -		 "Enable driver based PS/2 aux port en-/dis-abling on touchpad on/off toggle. If you need this please report this to: platform-driver-x86@vger.kernel.org");
> > > +		 "Enable driver based suppression of touchpad events on touchpad on/off toggle. If you need this please report this to: platform-driver-x86@vger.kernel.org");
> > 
> > By re-purposing ctrl_ps2_aux_port, you are breaking its existing users
> > *silently*.
> 
> I'm not?

Yes, and no.

When only focusing on the input events delivered to the userspace,
nothing is broken if everything works fine. 

However, the methodology has been changed from hardware-based to
software-based. Because of the fundamental change, it has the potential
to break something if some users depends on the side-effect of toggling
the aux port.

While my device never needs the quirk, I can think of several useful
side-effects:

- pause the interrupt (and hence pause event handling) to save some
energy
- prevent the touchpad from waking up the platform
- reset faulty touchpads

By switching to the software-based methodology, all these capabilities
have gone. Of course, relying on these side-effects is a misuse, but
relying on the parameter itself without reporting it to the mailing list
is also a misuse! More below.

> 
> > 
> > Please don't do so, but rename module parameter to reflect the new
> > behavior. In this manner, the existing users should at least see some
> > clues in kmsg.
> 
> The purpose of ctrl_ps2_aux_port (introduced in commit c69e7d843d2c
> ("platform/x86: ideapad-laptop: Only toggle ps2 aux port on/off on
> select models")) is to let the driver disable and re-enable the PS/2
> touchpad on models where pressing the touchpad toggle hotkey only
> toggles the LED in the EC without muting the touchpad itself.
> 
> This patch still targets the exact same i8042 PS/2 touchpad devices and
> achieves the exact same user-visible behavior (muting and unmuting the
> touchpad when the hotkey is pressed), just by filtering events in the
> input layer instead of poking the 8042 controller behind the i8042 and
> psmouse drivers' backs.

Input events are not the only user-visible behavior.

> 
> Anyone currently passing ideapad_laptop.ctrl_ps2_aux_port=1 on their
> kernel command line or in modprobe configuration will continue to have a
> working touchpad toggle. Renaming the module parameter, on the other
> hand, is what would actually break those existing users by causing the
> module to reject the parameter and stop muting their touchpad.

A completely new behavior reusing an old knob is always prone to break
*something* in a obscure way unless users are notified about the change.
Breaking something with a visible warning [1] in kmsg is much better than
potentially breaking something in radio silence. 

We don't want to support poking i8042 anymore, so the use of
'ctrl_ps2_aux_port' is anyway becoming unsupported. The parameter was
introduced only for debugging and is expected to be removed at any time.
If users don't report their use of the parameter to the mailing list,
they are already relying on a broken setup.

By renaming it and breaking the unsupported setup loudly, we encourage
users to report quirky devices, as well as getting rid of an outdated
parameter name.

[1]: ideapad_laptop: unknown parameter 'ctrl_ps2_aux_port' ignored

Thanks,
Rong

> 
> Thanks.

  reply	other threads:[~2026-10-24 15:33 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-22  4:50 Dmitry Torokhov
2026-10-23  9:21 ` Uwe Kleine-König
2026-10-23 16:04 ` Alice Mikityanska
2026-10-23 16:37   ` Alice Mikityanska
2026-10-23 23:05     ` Dmitry Torokhov
2026-10-24  2:15 ` Rong Zhang
2026-10-24  3:20   ` Dmitry Torokhov
2026-10-24 15:30     ` Rong Zhang [this message]
2026-10-24 23:13       ` Dmitry Torokhov
2026-10-25  1:52         ` Rong Zhang
2026-10-25  2:38           ` Dmitry Torokhov
2026-10-25  2:25 ` Rong Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5bdb870be988333df200ac7d4904dd1bda6ef52f.camel@rong.moe \
    --to=i@rong.moe \
    --cc=derekjohn.clark@gmail.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=hansg@kernel.org \
    --cc=ikepanhc@gmail.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maxtram95@gmail.com \
    --cc=mpearson-lenovo@squebb.ca \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®