linux 4 timer_list使用

最近在基于linux4的版本开发驱动,使用到timer模块,遂到网上找参考的使用例子。

发现几乎都是基于2.x版本的内核的使用例子,而linux4上的timer结构体已经和原来完全不同了,无法直接使用。

新版本的timer_list结构体如下所示:

struct timer_list {
	/*
	 * All fields that change during normal runtime grouped to the
	 * same cacheline
	 */
	struct hlist_node	entry;
	unsigned long		expires;
	void			(*function)(struct timer_list *);
	u32			flags;

#ifdef CONFIG_LOCKDEP
	struct lockdep_map	lockdep_map;
#endif
};

具体的使用方法如下:

定义:

static void timer_function(struct timer_list * tl)
{
	(void)tl;

    //add yourself codes here
	
	mod_timer(&jpeg_timer, jiffies + msecs_to_jiffies(10));
}

static DEFINE_TIMER(timer, timer_function);

初始化:

timer_setup(&timer, timer_function, 0);

去初始化:

del_timer(&timer);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值