From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Manuel Traut <manuel.traut@mt.com>
Cc: Markus Burri <markus.burri@mt.com>,
linux-kernel@vger.kernel.org, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Marek Vasut <marek.vasut@gmail.com>,
linux-input@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v5 1/7] Input: matrix_keypad - use fsleep for variable delay duration
Date: Mon, 24 Feb 2025 22:40:55 -0800 [thread overview]
Message-ID: <Z71l9046XyjxicFf@google.com> (raw)
In-Reply-To: <Z7YIKaG0jBHV2FSE@mt.com>
On Wed, Feb 19, 2025 at 05:34:49PM +0100, Manuel Traut wrote:
> On Fri, Jan 10, 2025 at 06:49:00AM +0100, Markus Burri wrote:
> > The delay is retrieved from a device-tree property, so the duration is
> > variable. fsleep guesses the best delay function based on duration.
> >
> > see Documentation/timers/delay_sleep_functions.rst
> >
> > Signed-off-by: Markus Burri <markus.burri@mt.com>
>
> Reviewed-by: Manuel Traut <manuel.traut@mt.com>
As I mentioned in other review activate_col() may be called in atomic
context where we can not sleep:
"activate_col() may be called in atomic context, and if fsleep() turns
into usleep_range() or msleep() we are going to have a bad time.
We should either stop using request_any_context_irq() or figure out if
interrupt handler can sleep or not and adjust behavior properly."
Unfortunately this was completely ignored.
>
> > ---
> > drivers/input/keyboard/matrix_keypad.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/input/keyboard/matrix_keypad.c b/drivers/input/keyboard/matrix_keypad.c
> > index 2a3b3bf..5571d2e 100644
> > --- a/drivers/input/keyboard/matrix_keypad.c
> > +++ b/drivers/input/keyboard/matrix_keypad.c
> > @@ -68,7 +68,7 @@ static void activate_col(struct matrix_keypad *keypad, int col, bool on)
> > __activate_col(keypad, col, on);
> >
> > if (on && keypad->col_scan_delay_us)
> > - udelay(keypad->col_scan_delay_us);
> > + fsleep(keypad->col_scan_delay_us);
> > }
> >
> > static void activate_all_cols(struct matrix_keypad *keypad, bool on)
> > --
> > 2.39.5
> >
Thanks.
--
Dmitry
next prev parent reply other threads:[~2025-02-25 6:40 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-10 5:48 [PATCH v5 0/7] Input: matrix-keypad: Various performance improvements Markus Burri
2025-01-10 5:49 ` [PATCH v5 1/7] Input: matrix_keypad - use fsleep for variable delay duration Markus Burri
2025-02-19 16:34 ` Manuel Traut
2025-02-25 6:40 ` Dmitry Torokhov [this message]
2025-02-25 6:55 ` Dmitry Torokhov
2025-02-25 8:46 ` Markus Burri
2025-02-26 0:13 ` Dmitry Torokhov
2025-01-10 5:49 ` [PATCH v5 2/7] Input: matrix_keypad - add function for reading row state Markus Burri
2025-02-19 16:40 ` Manuel Traut
2025-01-10 5:49 ` [PATCH v5 3/7] dt-bindings: input: matrix_keypad - convert to YAML Markus Burri
2025-01-14 19:50 ` Rob Herring (Arm)
2025-02-19 16:41 ` Manuel Traut
2025-02-26 0:13 ` Dmitry Torokhov
2025-01-10 5:49 ` [PATCH v5 4/7] dt-bindings: input: matrix_keypad - add missing property Markus Burri
2025-01-14 19:51 ` Rob Herring (Arm)
2025-02-19 16:42 ` Manuel Traut
2025-02-25 6:46 ` Dmitry Torokhov
2025-02-25 10:16 ` Markus Burri
2025-02-25 17:43 ` Dmitry Torokhov
2025-02-26 12:14 ` Markus Burri
2025-01-10 5:49 ` [PATCH v5 5/7] dt-bindings: input: matrix_keypad - add settle time after enable all columns Markus Burri
2025-02-19 16:42 ` Manuel Traut
2025-02-26 0:14 ` Dmitry Torokhov
2025-01-10 5:49 ` [PATCH v5 6/7] Input: " Markus Burri
2025-02-19 16:47 ` Manuel Traut
2025-02-26 0:14 ` Dmitry Torokhov
2025-01-10 5:49 ` [PATCH v5 7/7] Input: matrix_keypad - detect change during scan Markus Burri
2025-02-19 16:56 ` Manuel Traut
2025-02-25 6:58 ` Dmitry Torokhov
2025-02-25 8:51 ` Markus Burri
2025-02-25 17:46 ` Dmitry Torokhov
2025-02-26 12:06 ` Markus Burri
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=Z71l9046XyjxicFf@google.com \
--to=dmitry.torokhov@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=manuel.traut@mt.com \
--cc=marek.vasut@gmail.com \
--cc=markus.burri@mt.com \
--cc=robh@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.