October 2017
Intermediate to advanced
354 pages
9h 28m
English
The architecture-specific branch of the kernel code implements interrupt controller specific operations for management of IRQ lines such as masking/unmasking individual interrupts, setting priorities, and SMP affinity. These operations are required to be invoked from architecture-independent code paths of the kernel for manipulation of individual IRQ lines, and to facilitate such calls, the kernel defines an architecture-independent abstraction layer through a structure called struct irq_chip. This structure can be found in the kernel header <include/linux/irq.h>:
struct irq_chip { struct device *parent_device; const char *name; unsigned int (*irq_startup)(struct irq_data *data); void (*irq_shutdown)(struct ...