pci总线下字符设备对应的/dev下设备文件问题

句号逗号冒号 2016-08-17 10:41:33
根据LDD3中文版390页描述,当添加一个新设备后,pci子系统会分配并初始化一个pci_dev结构,随后会调用device_register函数,在/sys设备模型下注册该设备。在device_register函数中,对device结构体中成员初始化时,会在/sys相关目录下创建相应文件,并调用kobj_uevent函数,产生热插拔事件。随后udev就会在/dev下创建相应的设备文件,假设名称为test。
注册该设备后,会在pci驱动程序链表里搜索匹配的驱动程序,如果在所匹配的驱动程序的probe函数中,创建了一个字符设备,并分配了主次设备号。

问题:
1 pci子系统在注册device结构时,是不是没有分配主次设备号。如果没有分配的话,那udev建立的/dev文件夹下的设备文件是什么时候知道自己的主次设备号的呢?
2 pci_dev结构和cdev结构,两个结构体都有kobject结构,不会冲突吗?
3 /dev下的test设备文件是如何与cdev结构体相关联的呢?对设备文件的read操作是如何关联到cdev结构体实现的read方法上的呢?

困扰了好几天的问题,请各位大神帮忙指点一下,万分感激!!!
...全文
733 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧