做过LINUX下PCI9030 类似芯片驱动的快进来
static struct pci_device_id PCI9030_pci_ids[]__devinitdata={{0X10B5,0X9030,0X00 ,0X00,0X068000,0,0UL},{0,}};
pci_register_driver(&PCI9030_pci_driver)注册失败,好郁闷啊,不管怎么修改了PCI9030_pci_ids[]数组的值,都发现没有调用自己写的驱动里的prob()函数,貌似是PCI层没有探测到设备,我用lspci看到有自己的芯片信息。。。。
急急急
用的是PCI9030芯片,做过相关芯片的看下到底该给
struct pci_device_id这个结构体赋值多少
struct pci_device_id {
__u32 vendor, device; /* Vendor and device ID or PCI_ANY_ID*/
__u32 subvendor, subdevice; /* Subsystem ID's or PCI_ANY_ID */
__u32 class, class_mask; /* (class,subclass,prog-if) triplet */
kernel_ulong_t driver_data; /* Data private to the driver */
};
但是该芯片的vendor, device是16位寄存器的啊,class寄存器是24位,也没看到class_mask对应的寄存器
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论