October 2017
Intermediate to advanced
586 pages
14h 8m
English
This approach is used for the SoC's internal GPIO controller, which is memory mapped and whose access does not sleep. Chained means that those interrupts are just chains of function calls (for example, the SoC's GPIO module interrupt handler is being called from the GIC interrupt handler, just like a function call). generic_handle_irq() is used for interrupts chaining child IRQ handlers, and it is called inside of the parent hwirq handler. Even from within the child interrupt handlers, we are still in atomic context (HW interrupt). One cannot call functions that may sleep.