request_irq成功。处理程序未调用

时间:2012-11-24 10:03:30

标签: interrupt beagleboard interrupt-handling irq gpio

我正在为BeagleBoard-xM Rev C上的用户按钮编写模块。现在,我只是在调用中断处理程序时,即按下用户按钮时尝试打印消息。

用户按钮对应于GPIO引脚4.我正在执行gpio_to_irq(4)以获取IRQ号,我正在使用处理程序传递给request_irq(),这是成功的。实际上,这是我的request_irq电话。

irq_res = request_irq(4, interrupt_handler, IRQF_TRIGGER_FALLING, "Interrupt Test", NULL);

我的中断处理程序看起来像这样。

static irqreturn_t interrupt_handler(int, void*, struct pt_regs*);

但是按下按钮时,永远不会调用中断处理程序。关于如何调试它的任何指针?

谢谢!

1 个答案:

答案 0 :(得分:0)

我没有将4传递给gpio_to_irq。我的不好,我正在传递前一个gpiolib函数调用的返回值。我无法理解,因为变量名称太相似而无法捕获。我纠正了。它奏效了!谢谢!