Если взять в качестве примера драйвер ahci. В ahci_platform. c есть некоторые функции драйвера, описанные в:
static struct platform_driver ahci_driver = {...functions...}.
Вопрос: в чем разница между функциями, описанными в platform_driver
структуре, и функциями, описанными в *_ops
(ahci_ops
как пример)?
Насколько я понимаю, функции в структуре platform_driver
обычно вызываются автоматически при загрузке / выгрузке драйвера в качестве примера. Функции, описанные в *_ops
, являются более доступными для пользователя функциями. Это правильно?