pci总线下字符设备对应的/dev下设备文件问题
根据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方法上的呢?
困扰了好几天的问题,请各位大神帮忙指点一下,万分感激!!!