免费注册 查看新帖 |

Chinaunix

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

请教一下一个linux设备模型的问题 [复制链接]

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-23 11:58 |只看该作者 |倒序浏览
以USB为例,我自己开发的一个字符设备,这个设备本身是USB接口的

所以,这个设备的驱动就涉及到USB的驱动和字符设备驱动的混杂

linux设备模型中讲的是bus_type有mattch函数,在把设备挂到总线上时,会最终调用该总线的mattch函数来
检测是否设备、驱动与总线是否匹配,匹配之后再去回调驱动挂进来的probe函数,这个过程的入口是调用
driver_register,接口原型如下:
int driver_register(struct device_driver *drv)

在这个混杂驱动中,之后USB部分的驱动会调用driver_register将设备挂入USB总线,最终注册到系统中,而
字符设备在注册到系统中时,是不会调用driver_register的,而是调用cdev_add来注册到系统中去。

问题就来了,对于linux设备模型,管理的是总线类(主要是可以热插拔)设备吗?比如USB、PCIE这类以总线
为基础的设备驱动才会使用linux设备模型框架,而普通的字符设备,就是说非总线型的设备,驱动不使用设备
模型框架。

我这样理解不知道正不正确,还希望有设备模型的专家能帮忙确认一下,谢谢!

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
2 [报告]
发表于 2014-09-24 00:03 |只看该作者
没有专家来帮忙确认一下咩?

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
3 [报告]
发表于 2014-09-25 08:35 |只看该作者
anybody who can tell me? tks

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
4 [报告]
发表于 2014-09-25 13:35 |只看该作者
设备模型确实是按照总线来管理的

自定义的普通字符设备也可以写成platform这种总线(在probe中做cdev_add)


论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
5 [报告]
发表于 2014-09-25 17:50 |只看该作者
ok, thank you, got it
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP