搞了好几天了,都没弄出来。求大牛帮忙!!
13 个解决方案
#1
参数不对
#2
哪个参数不对哈?求解
#3
看不出来,自己打印下各个参数比较下吧
#4
最后那个参数(void *)&i
#5
按楼上的应该不对,应该改成以下形式
request_irq(button_irqs[i].irq,buttons_interrupt,IRQF_SHARED,button_irqs[i].name,&button_irqs[i].name);
request_irq(button_irqs[i].irq,buttons_interrupt,IRQF_SHARED,button_irqs[i].name,&button_irqs[i].name);
#6
request_irq(button_irqs[i].irq,buttons_interrupt,IRQF_SHARED,button_irqs[i].name,(void *)i);
的最后一个参数是buttons_interrupt函数的第二个参数。
的最后一个参数是buttons_interrupt函数的第二个参数。
#7
更改之后,返回却是-16.
#8
明显4楼那是有问题的,&i每次都一样。改成&button_irqs[i].name呢?
#9
-16表示Device or resource busy
可能的你的IRQ已经有其它内核代码已经申请了。
可能的你的IRQ已经有其它内核代码已经申请了。
#10
给buttons_interrupt传的是i,不是name.所以不能改为&button_irq[i].name
#11
但已经设为IRQF_SHARED中断共享了啊
#12
应该是触发中断方式没有设置,如果是共享中断,两个中断方式应该设置一致。
#13
请问你的-16解决啦吗 我的也出现这个问题
#1
参数不对
#2
哪个参数不对哈?求解
#3
看不出来,自己打印下各个参数比较下吧
#4
最后那个参数(void *)&i
#5
按楼上的应该不对,应该改成以下形式
request_irq(button_irqs[i].irq,buttons_interrupt,IRQF_SHARED,button_irqs[i].name,&button_irqs[i].name);
request_irq(button_irqs[i].irq,buttons_interrupt,IRQF_SHARED,button_irqs[i].name,&button_irqs[i].name);
#6
request_irq(button_irqs[i].irq,buttons_interrupt,IRQF_SHARED,button_irqs[i].name,(void *)i);
的最后一个参数是buttons_interrupt函数的第二个参数。
的最后一个参数是buttons_interrupt函数的第二个参数。
#7
更改之后,返回却是-16.
#8
明显4楼那是有问题的,&i每次都一样。改成&button_irqs[i].name呢?
#9
-16表示Device or resource busy
可能的你的IRQ已经有其它内核代码已经申请了。
可能的你的IRQ已经有其它内核代码已经申请了。
#10
给buttons_interrupt传的是i,不是name.所以不能改为&button_irq[i].name
#11
但已经设为IRQF_SHARED中断共享了啊
#12
应该是触发中断方式没有设置,如果是共享中断,两个中断方式应该设置一致。
#13
请问你的-16解决啦吗 我的也出现这个问题