—————————————————————————————————————— 先来看看与中断相关的几个主要数据结构: 1、结构体:struct irq_desc(include/linux/irq.h) 27 struct irq_desc; 28 typedef void fastcall (*irq_flow_handler_t)(unsigned int irq, 29 struct irq_desc *desc); 153struct irq_desc { 154 irq_flow_handler_t handle_irq; /*指向一个函数,下面会用到*/ 155 struct irq_chip *chip; /* 下面会介绍这个结构体*/ 156 struct msi_desc *msi_desc; 157 void *handler_data; 158 void *chip_data; 159 struct irqaction *action; /* IRQ action lis下面会介绍 */ 160 unsigned int status; /* IRQ status */ 161 162 unsigned int depth; /* nested irq disables */ 163 unsigned int wake_depth; /* nested wake enables */ 164 unsigned int irq_count; /* For detecting bro