struct irq_data — per irq and irq chip data passed down to chip functions
struct irq_data { u32 mask; unsigned int irq; unsigned long hwirq; unsigned int node; unsigned int state_use_accessors; struct irq_chip * chip; struct irq_domain * domain; #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY struct irq_data * parent_data; #endif void * handler_data; void * chip_data; struct msi_desc * msi_desc; cpumask_var_t affinity; };
precomputed bitmask for accessing the chip registers
interrupt number
hardware interrupt number, local to the interrupt domain
node index useful for balancing
status information for irq chip functions. Use accessor functions to deal with it
low level interrupt hardware access
Interrupt translation domain; responsible for mapping between hwirq number and linux irq number.
pointer to parent struct irq_data to support hierarchy irq_domain
per-IRQ data for the irq_chip methods
platform-specific per-chip private data for the chip methods, to allow shared chip implementations
MSI descriptor
IRQ affinity on SMP