Hi Tomas, On Wed, May 03, 2023 at 05:32:31PM +0200, Tomas Mudrunka wrote: > LM8333 uses gpio interrupt line which is triggered by falling edge. > When button is pressed before driver is loaded, > driver will miss the edge and never respond again. > To fix this we run the interrupt handler before registering IRQ > to clear the interrupt via i2c command. > > Signed-off-by: Tomas Mudrunka <tomas.mudrunka@xxxxxxxxx> > --- Reviewed-by: Jeff LaBundy <jeff@xxxxxxxxxxx> > drivers/input/keyboard/lm8333.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/input/keyboard/lm8333.c b/drivers/input/keyboard/lm8333.c > index 7457c3220..52108c370 100644 > --- a/drivers/input/keyboard/lm8333.c > +++ b/drivers/input/keyboard/lm8333.c > @@ -178,6 +178,8 @@ static int lm8333_probe(struct i2c_client *client) > dev_warn(&client->dev, "Unable to set active time\n"); > } > > + lm8333_irq_thread(client->irq, lm8333); > + > err = request_threaded_irq(client->irq, NULL, lm8333_irq_thread, > IRQF_TRIGGER_FALLING | IRQF_ONESHOT, > "lm8333", lm8333); > -- > 2.40.1 Thank you for the productive discussion. Kind regards, Jeff LaBundy