阅读:2166回复:1
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对应的寄存器 |
|
沙发#
发布于:2009-05-26 21:28
这是由pci板卡硬件设计人员定义好了的
|
|