Перед регистрацией PCI драйвера нужно проинициализировать структуру pci_driver и передать в pci_register_driver(). Одно из полей в структуре это указатель на ф-цию probe.
Собственно вопрос - а когда ядро «позовет» эту функцию. То есть при старте ядра более/менее понятно — PCI core сканирует шину, находит устройства, получает имена из device tree, после этого проходит по списку зарегистрированных драйверов и если к-л драйвер зарегился на данный VENDOR_ID/DEVICE_ID, то запускает его probe(). Как-то так...
А если мы insmod драйвер уже при загруженном ядре, как при таком раскладе ядро решает когда звать probe? Что определяет поведение?
Спасибо.