从IRQ通道访问输入处理程序

时间:2018-01-20 22:50:36

标签: events linux-kernel linux-device-driver interrupt irq

在研究内核中的输入事件系统时,我遇到了只需要irq lane(只是整数)就可以访问已经在IRQ通道中注册的输入处理程序的需要。是否有方法可以访问与IRQ关联的所有事件处理程序?我希望将给定输入设备(比如鼠标)中的每个处理程序列表映射到设备可能生成的每个可能事件。

不确定是否重要,但我正在使用AOSP for ARM设备。

1 个答案:

答案 0 :(得分:0)

有一个irq_to_desc函数可以获取与irq相关的irq_desc(在linux / irqdesc.h中)。获取irq_desc.irq_data。

handle_irq成员是一个高级流程处理程序,它迭代irq_desc.action成员并调用其action->处理程序(irq,action-> dev_id)。 irq_desc.action->处理程序是中断处理程序的实例,位操作是一组中断处理程序。驱动程序处理程序在那里。 dev_id是一个void * cookie,指向input_dev结构,可以识别输入设备。