[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <X/vwKOTseVL7tkhq@google.com>
Date: Sun, 10 Jan 2021 22:28:56 -0800
From: Dmitry Torokhov <dmitry.torokhov@...il.com>
To: Tony Lindgren <tony@...mide.com>
Cc: linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-omap@...r.kernel.org,
Arthur Demchenkov <spinal.by@...il.com>,
Carl Philipp Klemm <philipp@...s.xyz>,
Merlijn Wajer <merlijn@...zup.org>,
Pavel Machek <pavel@....cz>, ruleh <ruleh@....de>,
Sebastian Reichel <sre@...nel.org>
Subject: Re: [PATCH 5/5] Input: omap4-keypad - implement errata check for
lost key-up events
On Mon, Jan 11, 2021 at 08:10:18AM +0200, Tony Lindgren wrote:
> * Tony Lindgren <tony@...mide.com> [210110 19:08]:
> > --- a/drivers/input/keyboard/omap4-keypad.c
> > +++ b/drivers/input/keyboard/omap4-keypad.c
> > +/*
> > + * Errata ID i689 "1.32 Keyboard Key Up Event Can Be Missed".
> > + * Interrupt may not happen for key-up events. We must clear stuck
> > + * key-up events after the keyboard hardware has auto-idled.
> > + */
> > +static int __maybe_unused omap4_keypad_runtime_suspend(struct device *dev)
> > +{
> > + struct platform_device *pdev = to_platform_device(dev);
> > + struct omap4_keypad *keypad_data = platform_get_drvdata(pdev);
> > + u32 active;
> > +
> > + active = kbd_readl(keypad_data, OMAP4_KBD_STATEMACHINE);
> > + if (active) {
> > + pm_runtime_mark_last_busy(dev);
> > + return -EBUSY;
> > + }
> > +
> > + omap4_keypad_scan_keys(keypad_data, true);
> > +
> > + return 0;
> > +}
>
> So with the improvments done, here we need to replace the true above with 0
> so when the hardware is idle we clear any stuck keys. Updated patch below.
Applied, thank you.
--
Dmitry
Powered by blists - more mailing lists