struct irq_desc — interrupt descriptor
struct irq_desc { irq_flow_handler_t handle_irq; struct irq_chip * chip; void * handler_data; void * chip_data; struct irqaction * action; unsigned int status; unsigned int depth; unsigned int wake_depth; unsigned int irq_count; unsigned int irqs_unhandled; spinlock_t lock; #ifdef CONFIG_SMP cpumask_t affinity; unsigned int cpu; #endif #if defined(CONFIG_GENERIC_PENDING_IRQ) || defined(CONFIG_IRQBALANCE) cpumask_t pending_mask; #endif #ifdef CONFIG_PROC_FS struct proc_dir_entry * dir; #endif const char * name; };
highlevel irq-events handler [if NULL, __do_IRQ
]
low level interrupt hardware access
per-IRQ data for the irq_chip methods
platform-specific per-chip private data for the chip methods, to allow shared chip implementations
the irq action chain
status information
disable-depth, for nested irq_disable
calls
enable depth, for multiple set_irq_wake
callers
stats field to detect stalled irqs
stats field for spurious unhandled interrupts
locking for SMP
IRQ affinity on SMP
cpu index useful for balancing
pending rebalanced interrupts
/proc/irq/ procfs entry
flow handler name for /proc/interrupts output