mfd: rn5t618: Fix IRQ trigger by changing it to level mode
authorAndreas Kemnade <andreas@kemnade.info>
Sat, 15 May 2021 20:55:18 +0000 (22:55 +0200)
committerLee Jones <lee.jones@linaro.org>
Wed, 2 Jun 2021 09:50:00 +0000 (10:50 +0100)
During more massive generation of interrupts, the IRQ got stuck,
and the subdevices did not see any new interrupts. That happens
especially at wonky USB supply in combination with ADC reads.
To fix that trigger the IRQ at level low instead of falling edge.

Fixes: 0c81604516af ("mfd: rn5t618: Add IRQ support")
Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/rn5t618.c

index 6ed04e6..384acb4 100644 (file)
@@ -107,7 +107,7 @@ static int rn5t618_irq_init(struct rn5t618 *rn5t618)
 
        ret = devm_regmap_add_irq_chip(rn5t618->dev, rn5t618->regmap,
                                       rn5t618->irq,
-                                      IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
+                                      IRQF_TRIGGER_LOW | IRQF_ONESHOT,
                                       0, irq_chip, &rn5t618->irq_data);
        if (ret)
                dev_err(rn5t618->dev, "Failed to register IRQ chip\n");