LINUX驱动分析之RTC(三)
来源:互联网 发布:淘宝网上卖什么赚钱 编辑:程序博客网 时间:2024/06/03 18:08
声明:本博内容均由http://blog.csdn.net/lmm670原创,转载请注明出处,谢谢!
/****************************************************************************************************/
函数把rtc驱动注册进了linux中,主要就是注册了对RTC的一些列操作,设置时间,设置闹钟等等,而这些操作都被包含在&s3c_rtcops中,我们来仔细观察这个家伙的全貌:
static const struct rtc_class_ops s3c_rtcops = {
.open = s3c_rtc_open,
.release = s3c_rtc_release,
.read_time = s3c_rtc_gettime,
.set_time = s3c_rtc_settime,
.read_alarm = s3c_rtc_getalarm,
.set_alarm = s3c_rtc_setalarm,
.irq_set_freq = s3c_rtc_setfreq,
.irq_set_state = s3c_rtc_setpie,
.proc = s3c_rtc_proc,
};
是不是很清楚了呢?所有的RTC相关的操作全在里面。读出RTC时间,设置rtc时间,设置闹钟,读取闹钟,设置rtc频率参数等等,我就不一一分析了,无非就是一些对硬件寄存器的读写操作,千篇一律,搞驱动的兄弟和他们熟悉的不能在熟悉了。
我们重点来看一个函数,那就是s3c_rtc_open:
在这个函数中我们发现只做了一件事:就是通过request_irq把 RTC的两个终端注册进系统,我们来看看这2个中断函数:
这2个函数都调用了同一个函数rtc_update_irq只是传进去的参数不一样而已,一个是闹钟中断,一个是系统时钟滴答中断。
进入代码分析:
392行:异步通知系统此中断的到来;
到这里,rtc-s3c.c已经分析完。
下面一节我们看看上层是如何和底层打交道的
- LINUX驱动分析之RTC(三)
- LINUX驱动分析之RTC(三)
- LINUX驱动分析之RTC(三)
- LINUX驱动分析之RTC(一)
- LINUX驱动分析之RTC(二)
- LINUX驱动分析之RTC(四)
- LINUX驱动分析之RTC(一)
- LINUX驱动分析之RTC(二)
- LINUX驱动分析之RTC(四)
- LINUX驱动分析之RTC(一)
- LINUX驱动分析之RTC(二)
- LINUX驱动分析之RTC(四)
- LINUX驱动分析之RTC(一)
- Linux RTC驱动模型分析之rtc-sysfs.c
- Linux RTC驱动模型分析之rtc-proc.c
- linux驱动分析之DS1302 RTC
- Linux RTC 驱动模型分析(1)
- Linux RTC 驱动模型分析(2)
- 一个实现恢复删除机制(do undo)的设计
- java 中的final解析
- LINUX驱动分析之RTC(二)
- Trie树(oversimplified python version)
- 静态成员函数
- LINUX驱动分析之RTC(三)
- PHP获取星期的方法及代码
- 关于iOS应用设计的一些最佳实践
- hdu 4347 【KD-TREE】
- LINUX驱动分析之RTC(四)
- hdu 1789
- jsp介绍
- SSH框架的一些面试题
- RTP实时音视频数据传输环境构建