我正在为freescale iMX6 quad上的linux内核4.1编写一个按钮模块
# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
173: 0 0 0 0 gpio-mxc 7 Edge PB_RIGHT
176: 0 0 0 0 gpio-mxc 10 Edge PB_YESOK
231: 0 0 0 0 gpio-mxc 31 Edge PB_LEFT
我使用了request_irq()函数来接收LEFT,RIGHT,YESOK等按钮的中断。如下所述
ret = request_irq(173, /* The interrupt number requested */
(irq_handler_t) gpioirqhandler, /* The pointer to the handler function below */
IRQF_TRIGGER_RISING, /* Use the custom kernel param to set interrupt type */
"PB_RIGHT", /* Used in /proc/interrupts to identify the owner */
NULL);
加载此模块时出现此错误,因此模块未加载。
genirq: Flags mismatch irq 173. 00000001 (PB_RIGHT) vs. 00000083 (PB_RIGHT)
Error request IRQ 173
- code -16 , EIO 5 , EINVAL 22
需要帮助来理解并解决此问题!
由于