RTC设备驱动
来源:互联网 发布:江南大学网络教育入口 编辑:程序博客网 时间:2024/06/05 04:45
从RTC设备驱动看所有驱动的写法:
1,所有驱动第一步是注册“驱动程序”
2,注册“设备”
3,系统在初始化时,会调用驱动程序的probe函数,完成基本硬件的初始化和设备的注册
RP4412RTC体系结构解释:http://blog.csdn.NET/tianxiawuzhei/article/details/7582390
xxx_driver_register先把个新话的东西写完然后进行driver_register
驱动开发人员写的有:
定义平台设备结构体s3c_device_rtc:/arch/arm/plat-samsung/dev-rtc.c;
板文件里注册平台设备(s3c_device_rtc加入smdk4x12_devices[]):/arch/arm/mach-exynos/mach-smdk4x12.c;
定义物理层的平台驱动s3c_rtc_driver:drivers/rtc/rtc-s3c.c
注册物理层的驱动s3c_rtc_driver:drivers/rtc/rtc-s3c.c模块加载时注册
platform_add_devices
为什么定好平台设备的结构体后,要写上到相应的板文件?答:因为板子初始化的时候,要调用platform_add_devices,注册各种各样的设备,把各种设备都加到平台总线上去。(平台设备的结构体.id等于-1,表明设备只有一个 )
里面会依次调用各个设备的proc函数,探测设备物理上是否存在,存在则进行充分的初始化。
写驱动程序,一定要区分driver和device, 前者是设备所对应的驱动程序,device是设备本身。两者都需要注册,注册前者的目的,是告诉系统,在总线上面有这个驱动程序可以用了。
注册device目的,是让内核知道插入了这样一些设备了。
platform_driver_register的理解:
答:先驱动,都要注册。平台驱动的注册(让系统能找到它),是使用platform_driver_register,是对driver_register进行了封装,
主要是注册了prob等函数,另外就是增加了字节的platform_type 。 平台驱动和其他总线(如USB总线)上的驱动不同,不同体现在(分量上)
int platform_driver_register(struct platform_driver *drv)
{
drv->driver.bus = &platform_bus_type;
if (drv->probe)
drv->driver.probe = platform_drv_probe;
if (drv->remove)
drv->driver.remove = platform_drv_remove;
if (drv->shutdown)
drv->driver.shutdown = platform_drv_shutdown;
return driver_register(&drv->driver);
}
平台驱动的prob函数的作业是什么?
答:两点,一是探测有没有这个设备;二是如果有这个设备,则进行充分的初始化。所以说prob函数是平台驱动的入口. (和模块的入口并不一样,先调用模块入口,在后面某个时刻,再调用Prob函数)
int driver_register(struct device_driver *drv)的作用是什么
为了在内核中对驱动程序进行注册,加到总线类别上面,让当有设备挂载上去时候内核能感知到
- linux RTC设备驱动
- RTC设备驱动
- RTC设备驱动
- SylixOS中RTC设备驱动
- 字符设备驱动之RTC驱动分析
- Linux下的RTC子系统设备驱动
- Linux设备驱动--linux RTC 驱动模型分析
- ds1339驱动源码及RTC设备驱动简介
- rtc驱动
- RTC驱动
- rtc驱动
- rtc驱动
- RTC驱动
- RTC驱动
- RTC(实时钟)设备驱动(内核代码)
- s2c2440 rtc 平台设备驱动 卸载问题 oops
- mini2440 rtc时钟设备驱动开发源代码(宋宝华框架)
- S3C2440驱动篇—Linux平台设备驱动之RTC时钟
- mysql的重新学习
- 傅里叶变换库FFTW的安装配置(VS2010) - WELEN
- 智能对话机器人学习与制作(1)
- 基于React,dva脚手架的知乎日报
- 浅谈最小生成树的两种算法
- RTC设备驱动
- XGBoost: A Scalable Tree Boosting System
- 选择法排序
- conv2函数学习
- Rails Web App Learning in action (2)--the basic version of students selective courses
- 从数据库表反射出实体类,自动生成实体类
- python学习2
- 自然对数e的近似值
- 第八周练习--求值