У меня есть драйвер Linux, который может использовать драйвер, который существует в ядре, но только после того, как я его вручную вставляю. В принципе, я вставляю свой драйвер, а затем вставляю ядро (его компилируется как модуль, а не встроенный), и они могут подключаться друг к другу.Модуль загрузки ядра Linux
Для вызова другого драйвера я использую platform_device_alloc («имя-драйвера», 0), затем я выделяю ресурсы для драйвера, используя то же имя и требуемое для него пространство памяти, и, наконец, Я использую platform_device_add. С этим я могу подключиться к драйверу и запустить функцию зонда со всем, что мне нужно.
Что я хочу, так это просто вставить мой модуль и что он признает, что другой существует в системе и подключается к нему без необходимости его вручную вставлять.
Спасибо за вашу помощь и извините за любые ошибки на английском языке.
С наилучшими пожеланиями
Если ваш драйвер использует символ, экспортированный другим драйвером, ваш драйвер будет зависеть от другого драйвера. Если ваш драйвер был установлен в каталоге модулей ядра, и вы запустили 'depmod -a' после его установки, вы можете запустить' modprobe your_driver' (где «your_driver» - это имя вашего модуля драйвера, без «.ko "), и он автоматически загрузит другой драйвер в качестве зависимости. –
У другого драйвера нет экспортных символов, к сожалению. Я связываю свой драйвер с каталогом ядра, я запускаю depmod -a и вставляю его. если я modprobe другой драйвер после, я могу соединить их обоих, но я не могу заставить его назвать это без необходимости modprobe. –
Не могли бы вы изменить вопрос, чтобы дать более подробную информацию о том, как ваш драйвер использует другой драйвер? –