Отслеживание кода драйвера ядра при разработке встраиваемых систем Linux

Я занимаюсь разработкой встраиваемых систем Linux и пытаюсь реализовать новый экземпляр интерфейса EMIF. Ядро Linux уже имеет установленный в нем драйвер EMIF и использует его для чтения и записи из памяти NAND. Интерфейс EMIF имеет 4 отдельные линии выбора микросхемы, и я хотел бы добавить второе устройство на шину EMIF, используя выбор микросхемы 2.

  1. Как мне создать экземпляр этого устройства и читать и писать на него. (Добавление дерева устройств?)

  2. Я пытался отследить код драйвера из исходного кода ядра, но я очень новичок в разработке драйверов, какие вызовы функций выполняются ядром из драйвера и где в исходном коде они происходят? Я считаю, что нашел исходные файлы для драйвера, так как они имеют то же имя, что и строка compatible = "ti,davinci-nand" в дереве устройств. Правильно ли я понимаю, что исходный файл драйвера будет называться davinci_nand.c и находиться по адресу {linux source}/drivers/mtd/nand?

РЕДАКТИРОВАТЬ:

С некоторой новой информацией и просмотром дерева устройств я опубликовал этот вопрос, который может быть полезен всем, кто сталкивается с этой веткой.

Дешифрование дерева устройств


person whh4000    schedule 02.04.2014    source источник
comment
О Q1. Определите, существуют ли узлы, описывающие текущее устройство на шине EMIF. Если такие узлы (и свойства) существуют, то их необходимо продублировать и изменить соответствующим образом в исходном дереве устройств для нового устройства, которое вы планируете взаимодействовать с помощью шины EMIF.   -  person TheCodeArtist    schedule 03.04.2014