LINUX.ORG.RU

Алиасы модулей ядра

 modalias,


0

1

Есть ли где-то документация на тему - как в исходниках ядра указываются алиасы модулей? Те, которые показывает modinfo. Это вообще как-то регламентировано?
Есть подозрение, что получить по строке modalias опции .config для включения нужного модуля невозможно, не собрав модули, ибо там зоопарк всяких макросов.

★★

Ответ на: комментарий от kam

MODULE_ALIAS(«mod_alias_name»);

Он почти нигде напрямую не используется. Появляется в *.mod.c файлах, которые генерируются при сборке. Для USB-устройств, например, формируется структура типа usb_device_id, члены которой задаются макросами USB_DEVICE(vend, prod). Как она дальше преобразуется в MODULE_ALIAS - мне пока непонятно. Да еще и формат ее от 2.6.38 к 3.3.1 поменялся. С другими классами устройств вообще темный лес, поиск в исходниках по pci v/d ничего не показал.

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

Причем usb_device_id и подобные структуры, похоже, вообще не используются - они просто объявлены и все. После компиляции их вытаскивает из объекта утилита modpost (/scripts/mod/modpost.c, /scripts/mod/file2alias.c), она-то и создает файлы имямодуля.mod.c
Очень надеюсь, что чего-то я пока что не понял.

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