免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1198 | 回复: 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

数据风云,十年变迁
DTCC 第十届中国数据库技术大会已启航!

2019年5月8日~5月10日,由IT168旗下ITPUB企业社区平台主办的第十届中国数据库技术大会(DTCC2019),将在北京隆重召开。大会将邀请百余位行业专家,就热点技术话题进行分享,是广大数据领域从业人士的又一次年度盛会和交流平台。与SACC2018类似,本届大会将采用“3+2”模式:3天传统技术演讲+2天深度主题培训。大会不仅提供超100场的主题演讲,还会提供连续2天的深度课程培训,深化数据领域的项目落地实践方案。
DTCC2019,一场值得期待的数据技术盛会,殷切地希望您报名参与!

活动入口>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP