struct irq_data — per irq chip data passed down to chip functions
struct irq_data { u32 mask; unsigned int irq; unsigned long hwirq; struct irq_common_data * common; struct irq_chip * chip; struct irq_domain * domain; #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY struct irq_data * parent_data; #endif void * chip_data; };
u32 mask
precomputed bitmask for accessing the chip registers
unsigned int irq
interrupt number
unsigned long hwirq
hardware interrupt number, local to the interrupt domain
struct irq_common_data * common
point to data shared by all irqchips
struct irq_chip * chip
low level interrupt hardware access
struct irq_domain * domain
Interrupt translation domain; responsible for mapping between hwirq number and linux irq number.
struct irq_data * parent_data
pointer to parent struct irq_data to support hierarchy irq_domain
void * chip_data
platform-specific per-chip private data for the chip methods, to allow shared chip implementations