Hi Linus, Sorry for the constant spam on this.. On Fri, 1 Oct 2021 at 01:13, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > To me this looks like your IRQ handler is firing for unused IRQs, i.e. > you are getting spurious IRQs. > > Are you missing to disable all IRQs as part of the set-up before > registering the GPIO chip? (Usually some registers need to > be written with zeroes.) Changing the handler to handle_edge_irq() on the gpio side resolves the issue and gpiomon registers edges from the gpio like it should. So I think it's an ordering thing. Something like the gpio side sets the handler to handle_bad_irq() after the irqchip side sets it to handle_edge_irq(). Thanks for the help. Cheers, Daniel