IRQ_driver
linux kernel IRQ驱动的编写,可以分为四步,但是中断处理函数的下半部处理有 tasklet context, workqueue context等等,所以此处分开讲解:
tasklet context
配置设备树dts
从设备树dts获得与申请中断号
设置中断处理函数
下半部处理(tasklet context)
释放中断号
workqueue context
配置设备树dts(同上)
从设备树dts获得与申请中断号(同上)
设置中断处理函数
下半部处理(workqueue context)
释放中断号(同上)
tasklet context
1. 配置设备树dts
2. 从设备树dts获得与申请中断号
获得中断号
申请中断号
3. 设置中断处理函数
4. 下半部处理(tasklet context)
5. 释放中断号
workqueue context
1. 配置设备树dts(同上)
2. 从设备树dts获得与申请中断号(同上)
3. 设置中断处理函数
4. 下半部处理(workqueue context)
5. 释放中断号(同上)
Last updated
Was this helpful?