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