Linux カーネル 3.0 以降、pci プローブは次のように自動化されます。pci_register_driver(&pci_driver);
Linux カーネル 2.6 以前では、プログラマーはキャラクター デバイスを作成し、PCI リストを調べて、適切な PCI を選択し、それを操作する必要がありました。この手順の手順、PCI ドライバを使用する前にキャラクタ デバイスの初期化が必要な理由、およびキャラクタ ドライバを登録する必要がなくなった理由を教えてください。
Linux 2.4以前を参照していると思います。バス、デバイス、およびドライバーを備えた現在のカーネル デバイス モデルは、常に 2.6 シリーズの一部です。
あなたの質問は何ですか?
ブート時に PCI デバイスのリストが作成されます。次に、ドライバーが登録されると、バス上に存在するデバイスと一致するようにpci_driver
構造体フィールドが使用されます。id_table
次に、一致したデバイス構造へのポインターを使用して、pci_driver プローブ関数が呼び出されます。
そのため、2.4 と大差ありませんが、すべてのプロービング、マッチング ドライバーとデバイスなどは、pci ドライバーではなく「デバイス コア」によって処理されます。
詳しい説明はこちらのPDFとこちらのページをご覧ください