Re: [PATCH v3 3/3] input: gpio-keys: Use hrtimer for software debounce, if possible

From
Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date
2021-03-23 21:35:29
Also in
lkml
Reply to
Paul Cercueil, 2021-03-07
On Sun, Mar 07, 2021 at 10:22:40PM +0000, Paul Cercueil wrote:
We want to be able to report the input event as soon as the debounce
delay elapsed. However, the current code does not really ensure that,
as it uses the jiffies-based schedule_delayed_work() API. With a small
enough HZ value (HZ <= 100), this results in some input events being
lost, when a key is quickly pressed then released (on a human's time
scale).

Switching to hrtimers fixes this issue, and will work even on extremely
low HZ values (tested at HZ=24). This is however only possible if
reading the GPIO is possible without sleeping. If this condition is not
met, the previous approach of using a jiffies-based timer is taken.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Applied with minor edits to make more use of debounce_use_hrtimer flag.

Thanks.

-- 
Dmitry
Thread (8 messages) 8 messages, 3 authors, last reply 2021-04-07
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help