- 論壇徽章:
- 0
|
static int __init demo_init_module (void)
{
/ /* 注冊硬件驅動程序 */
if (!pci_register_driver(&demo_pci_driver)) {
pci_unregister_driver(&demo_pci_driver);
return -ENODEV;
}
/* ... */
NEXT:
... return 0;
}
static int __init demo_probe(struct pci_dev *pci_dev, const struct
pci_device_id *pci_id)
{
struct demo_card *card;
/* 啟動PCI設備 */
if (pci_enable_device(pci_dev))
return -EIO;
。。。。
request_region(card->iobase, 64, card_names[pci_id->driver_data]);
return 0;
}
請問PROBE函數(shù)是不是在我安裝該驅動模塊,進入到pci_register_driver函數(shù)里,PCI系統(tǒng)就會調用PROBE函數(shù),如果PCI子系統(tǒng)能成功檢測到設備并且條用了我的PROBE函數(shù)后,pci_register_driver才能返回到init_module 函數(shù)里,別且只有在PCI子系統(tǒng)能成功檢測到設備并且條用了我的PROBE后,pci_register_driver返回的結果才是成功狀態(tài)。
另外PROBE的第二個參數(shù)所提供的信息第一個參數(shù)不也包含嗎??第二個參數(shù)是不是多余的??
我自己寫的PCI驅動里面安裝驅動時,給出出錯提示no such device.,并且發(fā)現(xiàn)PROBE函數(shù)始終沒被調用。
急急急 |
|