阅读:2082回复:2
linux下PCI驱动的问题
最近为PCI板卡做LINUX环境下的驱动程序,在系统启动以后可以检测到板卡,并为板卡分配好硬件资源cat /proc/pci可以知道这些信息,自己编写驱动程序,可以用pci_register_driver(&my_pci_driver)注册设备(成功),说明static struct pci_driver 这个结构体已经被创建,问题是无法调用probe函数,是static struct pci_device_id pci_tbl[]出问题(几乎被排除)?还是由于系统初始化以后没有“新”设备增加,因此探测程序睡眠(如果不是热插拔设备怎么办)?还是请您帮忙讨论解决!
其实要是能搞清楚内核中处理PCI设备的程序与用户驱动程序之间的关系与各自功能,这个问题也就解决了,再次感谢您的经验之谈! |
|
沙发#
发布于:2007-04-05 08:47
引用第0楼alto618于2007-04-04 17:31发表的“linux下PCI驱动的问题”: 是否运行到probe函数?在驱动中要运行此函数,debug一下.PCI设备的探测仅找到该设备,分配资源,登记---在驱动运行之前. |
|
板凳#
发布于:2007-04-06 08:30
受.pcimap文件的启发,我将struct pci_device_id 结构体的kernel_ulong_t driver_data值改为0,就probe到设备了!
|
|