免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7236 | 回复: 7
打印 上一主题 下一主题

register_chrdev和device_register的关系 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-01 20:50 |只看该作者 |倒序浏览
register_chrdev是注册一个字符设备,device_register则是更底层的接口,本以为register_chrdev会调用device_register函数进行最终的注册,但看了下源码register_chrdev并没有调用device_register,那位给解释下,最好分析下设备注册的过程。


另外:device_register是把设备注册到bus上,bus上有两个链表分别是设备和驱动,驱动程序在probe过程中match device和device_driver,也就是说在probe之前,就要注册好设备,既bus的device链表上存在设备。不知道这样理解是否正确。

论坛徽章:
0
2 [报告]
发表于 2010-07-01 23:15 |只看该作者
回复 1# cskyrain


    你的头像gif?怎么动的,我上传gif时候说帧太多。。。

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
3 [报告]
发表于 2010-07-02 07:41 |只看该作者
粗略看了一下,感觉register_chrdev主要是向char subsystem做一个登记工作,建立设备号与设备名称之间的对应关系,至于bus之类的都没有涉及到
device_register应该是更深入的注册到ddm,同时注册到相关的子系统,比如bus

论坛徽章:
0
4 [报告]
发表于 2010-07-03 13:47 |只看该作者
{:3_179:}

论坛徽章:
0
5 [报告]
发表于 2010-07-03 18:42 |只看该作者
device_register是把设备注册到bus上,bus上有两个链表分别是设备和驱动,驱动程序在probe过程中match device和device_driver,也就是说在probe之前,就要注册好设备,既bus的device链表上存在设备。,应该是这样的

论坛徽章:
0
6 [报告]
发表于 2010-07-03 22:07 |只看该作者
回复 5# 0vk0


    那注册一个字符设备事,一般只是调用cdev_add(),或者直接register_chrdev(),而这两个函数中都没有和注册bus上的device有关的地方,疑惑字符设备怎么注册到bus上的?

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
7 [报告]
发表于 2010-07-04 22:49 |只看该作者
bus_register

论坛徽章:
0
8 [报告]
发表于 2010-07-04 23:12 |只看该作者
回复 7# T-Bagwell


    {:3_180:} 版主能说详细点吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP