struct irq_data — per irq chip data passed down to chip functions
struct irq_data { u32 mask; unsigned int irq; unsigned long hwirq; unsigned int node; 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 * 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
point to data shared by all irqchips
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