简单说明tasklet的使用方法:
//定义tasklet结构体:
struct tasklet mytasklet;
/*
初始化:
第一个参数:tasklet结构体的指针
第二个参数:函数指针void (*func)(unsigned long)类型
第三个参数:传递给func的参数,也就是tasklet_struct结构体里面的unsigned long data
*/
tasklet_init(&mytasklet,func,0);
//调用:
mytasklet.data = 1;//给func传递的参数为1
tasklet_schedule(&mytasklet);//调用func
//func定义
void func(unsigned long data)
{
ptintf("data = %d\n",data);
return;
}
结构体说明:
struct tasklet_struct
{
struct tasklet_struct *next;
unsigned long state;
atomic_t count;
void (*func)(unsigned long);//tasklet调用的函数
unsigned long data;//传递给func的参数
};