linux内核定时器应用,Linux内核中关于定时器Timer的应用

在Touchscreen驱动中

1 声明

Ad7877.c (\linux-2.6.30.4\drivers\input\touchscreen):struct timer_listtimer;/* P: lock */

2 初始化

在函数 static int __devinit ad7877_probe(struct spi_device *spi) 中

执行 setup_timer(&ts->timer, ad7877_timer, (unsigned long) ts); 进行初始化

其中ad8777_timer是回调函数,ts为给该函数的参数

3 使用

在函数 static void ad7877_callback(void *_ts) 中

mod_timer(&ts->timer, jiffies + TS_PEN_UP_TIMEOUT);

mod_timer函数用于修改超时时间,使timer继续生效

否则timer只会执行一次回调函数

4 释放

在函数 static void ad7877_disable(struct ad7877 *ts) 中

if (del_timer_sync(&ts->timer))

删除timer,del_timer_sync用于多核cpu同步,否则可以使用del_timer进行删除

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值