static struct demo_dev *p = ...;
//延时操作函数
void demo_delay_action(unsigned long data)
{
// 通过data获得设备相关指针
static struct demo_dev *pdev = (static struct demo_dev *)data;
//延时操作
。。。。
}
//调用DECLARE_TASKLET(name, func, data) 定义一个tasklet对象 demo_tasklet
DECLARE_TASKLET(demo_tasklet, demo_delay_action, (unsigned long)p);
// 中断处理
irqreturn_t demo_isr(int irq, void *dev_id)
{
....
//通过tasklet_schedule实现延时操作
tasklet_schedule(&demo_tasklet);
}
Linux tasklet
猜你喜欢
转载自blog.csdn.net/u013420428/article/details/80867134
今日推荐
周排行