常用内核中断符号解释—linux

在枚举类型irqreturn定义在include/linux/irqreturn.h文件中。

unsigned long flags:中断处理的属性,与中断管理有关的位掩码选项,有一下几组值:

#define IRQF_DISABLED 0x00000020 /*中断禁止*/

#define IRQF_SAMPLE_RANDOM  0x00000040    /*供系统产生随机数使用*/

#define IRQF_SHARED      0x00000080 /*在设备之间可共享*/

#define IRQF_PROBE_SHARED   0x00000100/*探测共享中断*/

#define IRQF_TIMER       0x00000200/*专用于时钟中断*/

#define IRQF_PERCPU      0x00000400/*每CPU周期执行中断*/

#define IRQF_NOBALANCING 0x00000800/*复位中断*/

#define IRQF_IRQPOLL     0x00001000/*共享中断中根据注册时间判断*/

#define IRQF_ONESHOT     0x00002000/*硬件中断处理完后触发*/

#define IRQF_TRIGGER_NONE   0x00000000/*无触发中断*/

#define IRQF_TRIGGER_RISING 0x00000001/*指定中断触发类型:上升沿有效*/

#define IRQF_TRIGGER_FALLING 0x00000002/*中断触发类型:下降沿有效*/

#define IRQF_TRIGGER_HIGH   0x00000004/*指定中断触发类型:高电平有效*/

#define IRQF_TRIGGER_LOW 0x00000008/*指定中断触发类型:低电平有效*/

#define IRQF_TRIGGER_MASK   (IRQF_TRIGGER_HIGH | IRQF_TRIGGER_LOW | \

               IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING)

#define IRQF_TRIGGER_PROBE  0x00000010/*触发式检测中断*/

你可能感兴趣的:(常用内核中断符号解释—linux)