IRQF_ONESHOT的解释
- 在使用requeset_threaded_irq()申请中断线程的时候,发生中断后需要先执行上半部处理函数primary_handler和下半部处理函数buttom_handler,默认primary_handler为NULL,这时IRQF_ONESHOT标识不可少,否则中断会申请失败
- 上半部中断处理函数执行期间中断是被关闭的,若在下半部分处理函数中也需要达到关闭中断的效果则添加IRQF_ONESHOT,这样只有上半部和下半部完整地执行了之后才会相应下一次中断。
- IRQF_ONESHOT的作用是保证thread_handler函数执行完整,才会接受下一个中断信号
、