请教Xtang先生

Xtang先生,pci_attach_device函数和pci_find_device函数的之间有什么区别和联系?能否具体解释一下参数。特别是pci_attach_device函数参数中的pci_dev_info结构中的每一项代表什么意思?我在改PXI驱动时遇到这个困难,恳请Xtang先生帮忙解释一下,谢谢!

pci_find_device() 用来检查一个device是不是存在。而pci_attach_device()则是用来“attach" 一个特定的device.

打个比方,一个驱动,可能支持好几个Device ID (同一chip的不同版本),通常驱动就可以用自已支持的VID/DID来做pci_find_device(),用来寻找系统中有没有这个驱动支持的硬件。一旦找到了,就用pci_attach_device()来取得更多的信息。

至于 pci_dev_info,则pci_attach_device() 的说明里有解释,可以去 那里 看看。