ok6410光盘内的内核源码是否已经对6个按键进行中断注册(已解决)
本帖最后由 nomaze 于 2012-6-28 01:36 编辑ok6410光盘内的内核源码linux-3.0.1是否已经对6个按键进行中断注册了呢?如果是的话,我该如何再去注册我的中断服务程序呢?我在用这份源码编译出来的内核来做按键实验的时候,request_irq无论采用IRQF_SHARED还是IRQF_INTERRUPT模式都是返回-EBUSY错误号。
另外,做按键实验的时候,还需要对与这几个键相连的寄存器GPNCON进行设置吗?谢谢
结贴 有没有人回答呢? 经过不懈的努力,总算是被我找出解决方法了,最后还是自己解决,结贴
这里无法注册中断的原因,当然是中断线已被占用,而去查看free_irq的代码(在kernel/irq/manage.c中),可以发现,出现这个Trying to free already-free IRQ 101 告警的原因是存在该中断号对应的中断描述符desc ,而相印的中断服务程序却不存在。说明有驱动程序占用了该中断号。 因而,我们要去掉这个驱动程序,方法:make menuconfig->Device Drivers->input device support->Key Boards->GPIO Buttons 去掉前面的*,即不选该项即可。
重新编译内核,ok
页:
[1]