1
從Linux內核3.0開始,PCI探測是自動的搭配:pci_register_driver(&pci_driver);
老式PCI探測
Linux內核2.6及以上,程序員必須創建一個字符設備,並通過PCI列表走,選擇合適的PCI和做與它一起工作。你能告訴我這個過程的步驟,爲什麼在使用PCI驅動程序之前需要初始化字符設備,以及爲什麼不再需要註冊字符驅動程序。
從Linux內核3.0開始,PCI探測是自動的搭配:pci_register_driver(&pci_driver);
老式PCI探測
Linux內核2.6及以上,程序員必須創建一個字符設備,並通過PCI列表走,選擇合適的PCI和做與它一起工作。你能告訴我這個過程的步驟,爲什麼在使用PCI驅動程序之前需要初始化字符設備,以及爲什麼不再需要註冊字符驅動程序。
我認爲你指的是Linux 2.4或更高版本。帶有總線,設備和驅動程序的當前內核設備模型一直是2.6系列的一部分。
你的問題到底是什麼?
PCI設備列表在引導時進行。然後,當註冊驅動程序時,pci_driver
結構id_table
字段用於將 與總線上的設備匹配。然後用指向匹配的設備結構的指針調用pci_driver探測函數。
所以它不是從2.4有很大不同,除了所有的探測,匹配的驅動程序和設備等...由「設備核心」處理,而不是由PC處理我司機。