LINUX.ORG.RU

Драйвер виртуальной шины


0

1

Появилась необходимость написания драйвера для виртуальной шины. До этого написал только несколько драйверов для PCI. В процессе написания появилось несколько вопросов, в основном в моменте регистрации новых устройств(особенно нескольких одинаковых).
При инициализации драйвера происходит регистрация новой шины, а также регистрация корневого устройства(относительно моей шины). В результате получаю соответствующие записи в /sys/bus/pci и /sys/bus/my_bus.
И после этого в моей голове и возникает неразбериха. Необходимо зарегистрировать виртуальные устройства подключенные к моей шине. Вначале я вызывал device_register(&device->dev);, из функции шины вызываемой при инициализации драйвера устройства. Но это как я понял некорректно, и верным путем является перебор устройств при инициализации шины(как я понял при этом должны заполняться kobject).
И каким образом должен производиться правильный перебор устройств?
Где должна производиться проверка соответствия устройства и драйвера?
Кто(откуда) производит исполнение .match?
Каким образом вызывается .hotplug?
И еще несколько подобных вопросов.


PS. LDD и .../driver-model/*.txt читал, просветления не наступило.

Книга LDD предназначена для прикладных программистов ядра. А ты занимаешься core kernel, поэтому ничего в ней не найдешь.

Вся необходимая документация находится по адресу ./drivers/pci/*. Похожий источник информации - реализация абстрактной шины of, используемой в некоторых архитектурах (конфигурационный параметр CONFIG_OF).

Только так и никак иначе.

ttnl ★★★★★
()
Ответ на: комментарий от ttnl

drivers/pci естественно тоже изучал, но с наскока как-то не получается, слишком много всего закручено там. Насчет of посмотрю сейчас, на глаза до этого не попадалось, в основном смотрел pci и eisa.
Так подскажите мне насчет первичной инициализации устройств.

AndriAno
() автор топика
Ответ на: комментарий от AndriAno

Честно скажу, я только вышел из отпуска, и никаких моральных сил, чтобы что-то смотреть в коде, у меня нет.

Если никто не ответит до следующей недели (что вряд ли), можно попровать напомнить мне ещё раз, тогда я посмотрю, расскажу...

ttnl ★★★★★
()

Кто-нибудь еще может поделиться сакральными знаниями архитектуры??

AndriAno
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.