lianzi
驱动牛犊
驱动牛犊
  • 注册日期2007-01-18
  • 最后登录2009-08-24
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望135点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
阅读:2101回复:1

LINUX pci9030

楼主#
更多 发布于:2008-06-11 18:32
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对应的寄存器
rockychang
驱动牛犊
驱动牛犊
  • 注册日期2005-10-21
  • 最后登录2009-09-22
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望191点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-05-26 21:28
这是由pci板卡硬件设计人员定义好了的
游客

返回顶部