ホットプラグ可能でなければならない PCIe デバイス用の Linux PCI ドライバーを作成しています。
このデバイスは、ケーブルを介して、PCIe スロットに収まる PCIe リドライバー カードに接続されます。
起動時にデバイスが接続されている場合は、 で見つけることができlspci、ドライバーは正常にプローブします。ただし、実行時にケーブルが取り外された場合でも、デバイスが存在するものとして表示され、「1」を にエコーした後でもlspci、ドライバの PCIメソッドは呼び出されません。remove/sys/bus/pci/rescan
起動時にデバイスが接続されていない場合、この問題は逆になります。lspciケーブルが接続された後でも、この問題は表示されず、probeメソッドは呼び出されません。
私のモジュールはpci_register_driver()andpci_unregister_driver()ライブラリを使用しています。ドライバーはprobeおよびremoveメソッドのみを使用し (suspendまたはなしresume)、 および をid_table初期化しvendor idますdevice id。
ホットプラグ対応の PCI デバイスを登録するために呼び出す必要がある Linux カーネルの関数はありますか?