Chinaunix
标题:
register_chrdev和device_register的关系
[打印本页]
作者:
cskyrain
时间:
2010-07-01 20:50
标题:
register_chrdev和device_register的关系
register_chrdev是注册一个字符设备,device_register则是更底层的接口,本以为register_chrdev会调用device_register函数进行最终的注册,但看了下源码register_chrdev并没有调用device_register,那位给解释下,最好分析下设备注册的过程。
另外:device_register是把设备注册到bus上,bus上有两个链表分别是设备和驱动,驱动程序在probe过程中match device和device_driver,也就是说在probe之前,就要注册好设备,既bus的device链表上存在设备。不知道这样理解是否正确。
作者:
kgn28
时间:
2010-07-01 23:15
回复
1#
cskyrain
你的头像gif?怎么动的,我上传gif时候说帧太多。。。
作者:
openspace
时间:
2010-07-02 07:41
粗略看了一下,感觉register_chrdev主要是向char subsystem做一个登记工作,建立设备号与设备名称之间的对应关系,至于bus之类的都没有涉及到
device_register应该是更深入的注册到ddm,同时注册到相关的子系统,比如bus
作者:
cskyrain
时间:
2010-07-03 13:47
{:3_179:}
作者:
0vk0
时间:
2010-07-03 18:42
device_register是把设备注册到bus上,bus上有两个链表分别是设备和驱动,驱动程序在probe过程中match device和device_driver,也就是说在probe之前,就要注册好设备,既bus的device链表上存在设备。,应该是这样的
作者:
cskyrain
时间:
2010-07-03 22:07
回复
5#
0vk0
那注册一个字符设备事,一般只是调用cdev_add(),或者直接register_chrdev(),而这两个函数中都没有和注册bus上的device有关的地方,疑惑字符设备怎么注册到bus上的?
作者:
T-Bagwell
时间:
2010-07-04 22:49
bus_register
作者:
cskyrain
时间:
2010-07-04 23:12
回复
7#
T-Bagwell
{:3_180:} 版主能说详细点吗?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2