All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff LaBundy <jeff@labundy.com>
To: Tomas Mudrunka <tomas.mudrunka@gmail.com>
Cc: dmitry.torokhov@gmail.com, linux-input@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6] Fix freeze in lm8333 i2c keyboard driver
Date: Wed, 13 Dec 2023 20:24:46 -0600	[thread overview]
Message-ID: <ZXpnbifDOQ/eF5jb@nixie71> (raw)
In-Reply-To: <20231114123023.95570-1-tomas.mudrunka@gmail.com>

Hi Tomas,

On Tue, Nov 14, 2023 at 01:30:23PM +0100, Tomas Mudrunka wrote:
> LM8333 uses gpio interrupt line which is active-low.
> When interrupt is set to FALLING edge and button is pressed
> before driver loads, driver will miss the edge and never respond.
> To fix this we should handle ONESHOT LOW interrupt rather than edge.
> 
> Rather than hardcoding this, we simply remove the override from
> driver by calling request_threaded_irq() with IRQF_TRIGGER_NONE flag.
> This will keep interrupt trigger configuration as per devicetree. eg.:
> 
> 	lm8333@51 {
> 		compatible = "ti,lm8333";
> 		interrupt-parent = <&gpio1>;
> 		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
> 		...
> 	}
> 
> Signed-off-by: Tomas Mudrunka <tomas.mudrunka@gmail.com>
> ---
>  drivers/input/keyboard/lm8333.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/input/keyboard/lm8333.c b/drivers/input/keyboard/lm8333.c
> index 7457c3220..c5770ebb2 100644
> --- a/drivers/input/keyboard/lm8333.c
> +++ b/drivers/input/keyboard/lm8333.c
> @@ -179,7 +179,7 @@ static int lm8333_probe(struct i2c_client *client)
>  	}
>  
>  	err = request_threaded_irq(client->irq, NULL, lm8333_irq_thread,
> -				   IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
> +				   IRQF_TRIGGER_NONE | IRQF_ONESHOT,

This seems like the best approach; it solves the original problem, and
adopts the correct design pattern of allowing the dts to specify details
about the interrupt polarity and sensitivity.

My only feedback is that I think you can simply drop IRQF_TRIGGER_FALLING
altogether instead of replacing it with IRQF_TRIGGER_NONE; it is pointless
to bitwise OR against zero, and almost no drivers do this. It really should
only be used unless there are quite literally no flags to use. Passing only
IRQF_ONESHOT is sufficient here.

Assuming you agree with this change, please feel free to add the following
for v7:

Reviewed-by: Jeff LaBundy <jeff@labundy.com>

>  				   "lm8333", lm8333);
>  	if (err)
>  		goto free_mem;
> -- 
> 2.40.0

Kind regards,
Jeff LaBundy

  reply	other threads:[~2023-12-14  2:24 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-25 13:00 [PATCH] Fix freeze in lm8333 i2c keyboard driver Tomas Mudrunka
2023-04-25 15:39 ` Jeff LaBundy
2023-04-25 16:49   ` [PATCH v2] " Tomas Mudrunka
2023-04-27  0:41     ` Jeff LaBundy
2023-04-27  8:13       ` Tomáš Mudruňka
2023-04-27 18:47         ` Jeff LaBundy
2023-04-28 10:09       ` [PATCH v3] " Tomas Mudrunka
2023-04-28 10:20       ` [PATCH v4] " Tomas Mudrunka
2023-05-03  3:02         ` Jeff LaBundy
2023-05-03  8:54           ` Tomáš Mudruňka
2023-05-03 15:32             ` [PATCH v5] " Tomas Mudrunka
2023-05-04  1:44               ` Jeff LaBundy
2023-05-11 23:44                 ` Dmitry Torokhov
2023-05-12 16:54                   ` Jeff LaBundy
2023-05-12 16:55                   ` Tomáš Mudruňka
2023-05-12 17:28                     ` Jeff LaBundy
2023-11-14 12:30                       ` [PATCH v6] " Tomas Mudrunka
2023-12-14  2:24                         ` Jeff LaBundy [this message]
2023-12-15 15:56                           ` [PATCH v7] " Tomas Mudrunka
2025-02-19 14:51                             ` Tomas Mudrunka
2023-04-26 23:16   ` [PATCH] " Dmitry Torokhov
2023-04-27  0:27     ` Jeff LaBundy
2023-04-27  8:19       ` Tomáš Mudruňka
2023-04-27 18:54         ` Jeff LaBundy

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=ZXpnbifDOQ/eF5jb@nixie71 \
    --to=jeff@labundy.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tomas.mudrunka@gmail.com \
    /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.