The datasheet specifies, that the IRQ_B pin is pulled low when any unmasked interrupt bit status is changed, and it is released high once the application processor reads the INT1 register. As it specifies a level-low behavior, it should not force a falling-edge interrupt. Remove the IRQF_TRIGGER_FALLING to not force the falling-edge interrupt and instead rely on the flag from the device tree.
Unified · Split
| @@ -809,7 +809,7 @@ static int pf9453_i2c_probe(struct i2c_client *i2c) · 808 unmodified lines | ||
| 809 | 809 | } |
| 810 | 810 | |
| 811 | 811 | ret = devm_request_threaded_irq(pf9453->dev, pf9453->irq, NULL, pf9453_irq_handler, |
| 812 | − (IRQF_TRIGGER_FALLING | IRQF_ONESHOT), | |
| 812 | + IRQF_ONESHOT, | |
| 813 | 813 | "pf9453-irq", pf9453); |
| 814 | 814 | if (ret) |
| 815 | 815 | return dev_err_probe(pf9453->dev, ret, "Failed to request IRQ: %d\n", pf9453->irq); |