Вы определенно должны будете поместить исходный код драйвера в дерево исходных текстов ядра и обновить make-файл, чтобы включить его.Вы можете увидеть, как это работает в шагах с 1.1 по 1.3 здесь .
Если программное обеспечение уровня пользователя общается с драйвером устройства, оно, вероятно, делает это с помощью системных вызовов.Выполните поиск по источнику драйвера, ищущего asmlinkage
, если вы найдете какой-либо из них, тогда вы ищете добавление некоторых системных вызовов.В оставшейся части вышеприведенного документа объясняется, как их настроить.Вам придется изменить как минимум два файла (и они могут немного отличаться в зависимости от версии вашего ядра).
Если драйвер устройства общается с ядром напрямую, мы имеем дело с прерываниями, отображением памятиI / O или DMA.Если честно, я не знаю, могут ли они быть обработаны в исходном файле для вашего драйвера (в этом случае вы хорошо работаете), или же они требуют изменения других файлов в дереве исходных текстов. Руководство по программированию модуля ядра Linux - хороший ресурс для таких вещей.
Удачи