Linux时间子系统之(十六):clockevent

作者:linuxer 发布于:2014-12-9 19:56 分类:时间子系统

clockevent模块的代码位于linux/kernel/time/clockevents.c,是用来管理系统中的能够触发中断的timer硬件资源的一个模块,该模块的功能分成四个部分:

1)向上层的其它driver(我们称之clock event user)提供操作clock event的通用API。

2) 实现clock event控制的通用逻辑,这部分和硬件无关,我们也称之clock event core(其实内核有各种core、input core,USB core,I2C core等等,概念是类似)。 有了它,clock event user(例如high resolution timer)再也不用担心底层的硬件细节了,特别是底层的timer硬件是arch相关的时候(不要怀疑,linux kernel有过这样的时代)。

3)将和硬件相关的clock event控制逻辑封装成操作函数集,并向底层clockevent chip driver提供注册接口。这样,clock event控制的通用逻辑就可以直接调用底层操作函数,进行具体的硬件操作。

4)实现sysfs用户空间接口。

本文将分成4个章节,分别描述这四个部分的代码逻辑。

阅读全文>>

标签: clockevent

评论(31) 浏览(29076)

Copyright @ 2013-2015 蜗窝科技 All rights reserved. Powered by emlog