欢迎来到天天文库
浏览记录
ID:6649444
大小:314.50 KB
页数:12页
时间:2018-01-21
《linux内核rtc驱动框架源码分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、s3c2410RTC驱动框架linux内核源码分析/********************************************************************************************************** @Description:s3c2410的rtc驱动的实现,rtc(real time clock)实时时钟的驱动是个很好的* 理解如果编写驱动的硬件,它包括了最基本的硬中断,软中断的底层机制;* s3c2410的RTC驱动的实现个人认为更是对linux设备驱动一个很好的例子,他是通过二层结构来* 实现的一
2、个驱动,上层是一个arm common的公共层,对上提供标准的通用的RTC操作接口,下层由* 我们来实现针对自己的chip和自己要提供的功能来实现的一层驱动;** @FileTree:**********************************************************************************************************linux-2.6.14.6
3、
4、--arch
5、
6、
7、
8、--arm
9、
10、
11、--mach-s3c2410
12、
13、
14、
15、-devs.c
16、//包含了对各个部件的resource的分配和定义,在这看rtc的资源;
17、
18、
19、--common
20、
21、
22、
23、-rtctime.c //一个arm平台的通用rtc函数层,它对上隐藏了各种soc的rtc driver的区别;
24、
25、
26、--kernel
27、
28、
29、
30、-time.c //内核的初始化例程time_init()会调用的xxx_cmos_xxx函数的实现;定义了全局自旋锁rtc_lock用来串行化所有CPU对RTC的操作
31、
32、--drivers
33、
34、--char
35、
36、
37、-s3
38、c2410-rtc.c //具体的s3c2410上的rtc chip的驱动实现,如果需要在arm平台的
39、
40、 板子上实现一个驱动,改写它就ok了。
41、
42、--include
43、
44、--asm-arm
45、
46、
47、--arch-s3c2410
48、
49、
50、
51、-regs-rtc.h //S3C2410 Internal RTC register definition refer to datasheet;
52、
53、
54、-rtc.h //arm平台rtc操作抽象
55、层rtctime.c对应的.h
56、
57、--linux
58、
59、
60、-time.h //mktime的实现;
61、
62、
63、-rtc.h //公用RTC .h**[小结]*1)提供给user的接口,在arch/arm/common/rtctime.c,include/asm-arm/rtc.h中实现,调用操作硬件驱动在drivers/char/s3c2410-rtc.c,include/asm-arm/arch-s3c2410/regs-rtc.h实现;*2)提供给kernel的接口,在arch/arm/kernel/t
64、ime.c,include/linux/time.h中实现,调用操作硬件驱动在drivers/char/s3c2410-rtc.c,include/asm-arm/arch-s3c2410/regs-rtc.h实现;************************************************************************************************************ @Author: liyangth@gmail.com * * @Fun
65、ction List: ** ** * @Changelog:* 2007-06-24 LiYang First version** @FQA:* [50%]Q1.在驱动中要将设备注册到总线,必须将设备封装成struct device_driver;调查这个结构体中的每个成员.
此文档下载收益归作者所有