对于具体使用中断的模块来说,其中断处理函数被中断封装成一个irqaction对象,此对象的handler就是


用户的中断处理函数。


struct irqaction {
 irq_handler_t  handler;
 void   *dev_id;
 void __percpu  *percpu_dev_id;
 struct irqaction *next;
 irq_handler_t  thread_fn;
 struct task_struct *thread;
 struct irqaction *secondary;
 unsigned int  irq;
 unsigned int  flags;
 unsigned long  thread_flags;
 unsigned long  thread_mask;
 const char  *name;
 struct proc_dir_entry *dir;
} ____cacheline_internodealigned_in_smp;