免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1307 | 回复: 4

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

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
发表于 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
发表于 2014-09-24 00:03 |显示全部楼层
没有专家来帮忙确认一下咩?

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
发表于 2014-09-25 08:35 |显示全部楼层
anybody who can tell me? tks

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
发表于 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
发表于 2014-09-25 17:50 |显示全部楼层
ok, thank you, got it
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。




----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP