Вы должны различать platform_driver
, который является драйвером шины (контроллера), и pci_driver
, который является драйвером устройства PCI (клиент на шине).
Это драйвер шины CAN шина CANДрайвер для контроллера IFI CANFD
Контроллеры шины (адаптеры) зарегистрированы в ядре как platform_devices
Драйвер PCI предоставляет перехватчики (обратные вызовы) и структуры для регистрации устройства PCI на уровне ядра PCI.и привязать его к устройству.
pci_register_driver()
используется для регистрации структуры pci_driver
для существующего устройства PCI на шине PCI, определенной в таблице struct pci_device_id xxx_pci_tbl[]
, с помощью Class, Vendor и Device ID для сопоставления с устройством.
struct pci_driver xxx_driver = {
.name = DRV_NAME,
.probe = xxx_pci_probe,
.remove = xxx_pci_remove,
.id_table = xxx_pci_tbl
/ Документация / PCI / pci.txt