Появилась необходимость написания драйвера для виртуальной шины. До этого написал только несколько драйверов для PCI. В процессе написания появилось несколько вопросов, в основном в моменте регистрации новых устройств(особенно нескольких одинаковых).
При инициализации драйвера происходит регистрация новой шины, а также регистрация корневого устройства(относительно моей шины). В результате получаю соответствующие записи в /sys/bus/pci и /sys/bus/my_bus.
И после этого в моей голове и возникает неразбериха. Необходимо зарегистрировать виртуальные устройства подключенные к моей шине. Вначале я вызывал device_register(&device->dev);, из функции шины вызываемой при инициализации драйвера устройства. Но это как я понял некорректно, и верным путем является перебор устройств при инициализации шины(как я понял при этом должны заполняться kobject).
И каким образом должен производиться правильный перебор устройств?
Где должна производиться проверка соответствия устройства и драйвера?
Кто(откуда) производит исполнение .match?
Каким образом вызывается .hotplug?
И еще несколько подобных вопросов.
PS. LDD и .../driver-model/*.txt читал, просветления не наступило.
Ответ на:
комментарий
от ttnl
Ответ на:
комментарий
от AndriAno
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум драйвер виртуального framebuffer (2010)
- Форум Оптические шины (2015)
- Форум Iceweasel_Ошибка шины (2013)
- Форум Ошибка шины (2016)
- Форум про шины (2008)
- Форум Шина PCI (2005)
- Форум Шина A20 (2005)
- Форум Proxmox драйверы виртуальных жестких дисков (2012)
- Форум Системная шина данных (2012)
- Форум шина данных. адреса (2020)