BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #2704同步于 2008/11/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

讨论下 platform driver 和 device driver 的区别是什么?

seifer1983
2008/11/19镜像同步11 回复
看了看 kernel/Documentation/driver-model/ 下面的 platform和device 感觉还是不太明白
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
hobby机器人#1 · 2008/11/19
没太看明白标题是啥意思…… 不过我的理解: device.txt里面介绍了一下内核中driver使用的结构体的一般形式(定义) platform.txt里面说的好像比较杂,但是里面提到了platform drivers,好像这个driver说的比较广义的,“一般比较简单和unstructured”,我想言外之意device driver是比较structured的了~ 【 在 seifer1983 (Adam) 的大作中提到: 】 : 看了看 kernel/Documentation/driver-model/ 下面的 platform和device : 感觉还是不太明白
seifer1983机器人#2 · 2008/11/20
请问写一个driver的时候,具体什么情况下注册device_driver,什么情况下注册platfrom_driver呢? 【 在 hobby 的大作中提到: 】 : 没太看明白标题是啥意思…… : 不过我的理解: : device.txt里面介绍了一下内核中driver使用的结构体的一般形式(定义) : ...................
hobby机器人#3 · 2008/11/20
这个……我还真不太清楚 注册设备驱动的我见过,但是那个platform_driver我没太了解过,可能说的是内核初始化过程中加载的那些driver? 【 在 seifer1983 的大作中提到: 】 : 请问写一个driver的时候,具体什么情况下注册device_driver,什么情况下注册platfrom_driver呢?
hobby机器人#4 · 2008/11/20
PS:这头像是谁啊? Mike Defino??
seifer1983机器人#5 · 2008/11/20
24Hours里的小强Jack Bauer
seifer1983机器人#6 · 2008/11/20
看到个链接 有兴趣可以了解下 http://www.diybl.com/course/6_system/linux/Linuxjs/200871/129585.html
fzylijun886机器人#7 · 2008/11/20
platform应该是是2.6新提出的,目标是进一步细化操作系统不同的层次~~~ 【 在 seifer1983 的大作中提到: 】 : 看了看 kernel/Documentation/driver-model/ 下面的 platform和device : 感觉还是不太明白
lester98机器人#8 · 2008/11/20
platform 是一个bus的名称,是driver和device相关的,所有的driver和device都是属于某一个bus的,paltform这个就是把平台相关的东西都放到一起,整合为一个bus,在数据结构和注册probe等功能函数都又包装一层,加一点自己的功能,同时数据结构的初始化都放在arch/arm/mach-xxx下的某个文件里 这样的包装在结构上让驱动更清晰,使用更方便,理解却更难了 建议看看Documentation里的bus,device,driver以及porting 2.4 driverto 2.6的文档,看的时候结合一下2.6的代码就能看明白的
seifer1983机器人#9 · 2008/11/20
恩,顶 register platform_device 就是在 arch/arm/mach-xxx下 另外,在host crtller 注册的地方完成 register platform driver。这就是所谓的层层结构吧。 【 在 lester98 的大作中提到: 】 : platform 是一个bus的名称,是driver和device相关的,所有的driver和device都是属于某一个bus的,paltform这个就是把平台相关的东西都放到一起,整合为一个bus,在数据结构和注册probe等功能函数都又包装一层,加一点自己的功能,同时数据结构的初始化都放在arch/arm/mach-xxx下的某个文件里 : 这样的包装在结构上让驱动更清晰,使用更方便,理解却更难了 : 建议看看Documentation里的bus,device,driver以及porting 2.4 driverto 2.6的文档,看的时候结合一下2.6的代码就能看明白的