Handling multiple GPIO controllers in 8xxx GPIO driver

Felix Radensky felix at embedded-sol.com
Tue Sep 27 23:59:28 EST 2011


Looks like  8xxx GPIO driver cannot properly handle interrupts
when multiple GPIO controllers exist in the system.

On Freescale P1022 there are 3 GPIO controllers. All 3 use
the same interrupt line, internal interrupt 31. If all controllers
are defined in device tree set_irq_chained_handler() is invoked
3 times with same  hardware irq number. The result is interrupt
storm,  mpc8xxx_gpio_irq_cascade() is invoked indefinitely.

What would be the best way to fix the problem ?


Felix Radensky.

More information about the Linuxppc-dev mailing list