Учитывая файл C, вы должны смотреть на функции, которые он вызывает, и структуры данных, которые он использует, а не беспокоиться о конкретных файлах.
Существует два основных способа разработки собственного драйвера устройства:
- Возьми драйвер, похожий на твой; удалите код, который не применим к вашему устройству, и введите новый код для вашего устройства.
- Начните с самых основных частей драйвера устройства и добавляйте по частям постепенно, пока ваше устройство не начнет функционировать.
Файлы, составляющие ваш драйвер, приобретут больше смысла, когда вы завершите этот процесс. Обдумайте, что принадлежит каждому файлу, но в некоторой степени разделение драйвера между файлами - это больше искусство, чем наука. Меньшие драйверы часто помещаются в один или два файла.
Немного дизайна тоже подойдет. Подумайте, что делает ваше устройство и что нужно будет сделать вашему драйверу. Исходя из этого, вы сможете определить, какие функции должен иметь драйвер устройства.
Я также считаю, что Драйверы устройств Linux, третье издание могут помочь вам перейти к разработке драйверов.
Сами файлы Linux включают файлы, основанные на том, что они делают, на каком уровне они находятся и к какому уровню они обращаются к стеку вызовов. Большая картина действительно информирует, как каждый файл связан со следующим.