這個 pci_device_id 結構需要被輸出到用戶空間, 來允許熱插拔和模塊加載系統知道什 么模塊使用什么硬件設備. 宏 MODULE_DEVICE_TABLE 完成這個. 例如:
MODULE_DEVICE_TABLE(pci, i810_ids);
這個語句創建一個局部變量稱為 mod_pci_device_table, 它指向 struct pci_device_id 的列表. 稍后在內核建立過程中, depmod 程序在所有的模塊中尋找
mod_pci_device_table. 如果找到這個符號, 它將數據拉出模塊並且添加到文件
/lib/modules/KERNEL_VERSION/modules.pcimap. 在 depmod 完成后, 所有的被內核中的 模塊支持的 PCI 設備被列出, 帶有它們的模塊名子, 在那個文件中. 當內核告知熱插拔 系統有新的 PCI 設備已找到, 熱插拔系統使用 moudles.pcimap 文件來找到正確的驅動 來加載.