Что такое псевдоним модуля в коде драйвера устройства Linux?
объяснение MODULE_ALIAS в код говорит
/* work with hotplug and coldplug */
MODULE_ALIAS("platform:omap2_mcspi");
но что такое MODULE_ALIAS?
есть ли значение для: (двоеточие) в аргументе?
1 ответов
MODULE_ALIAS
- макрос, добавленный в 2002 году с обновлением загрузчиков модулей ядра linux и используемый с 2003 года. Этот макрос позволяет создателю модуля определять дополнительные имена модуля (псевдонимы), например, чтобы упростить автоматическую загрузку модуля.
псевдонимы используются для присвоения некоторого специального имени, например "block-major-100" непосредственно в источнике модуля, вместо использования /etc/modules.conf
для определения псевдонимов. Когда пользовательская программа обращается к блочному устройству с основным номером 100, ядро попробуйте загрузить "block-major-100". Без MODULE_ALIAS
ядро должно перейти в пользовательское пространство и прочитать /etc/modules.conf
с помощником. И с MODULE_ALIAS("block-major-100")
kernel решит поиск сам по себе.
вы можете узнать больше об этом макросе вhttp://lwn.net/Articles/47412/" MODULE_ALIAS " статья corbet, 2003-09-03.
есть еще несколько специальных версий MODULE_ALIAS
, перечисленные corbet:
фактические используемые варианты зависят от подсистемы; драйверы блоков используют MODULE_ALIAS_BLOCKDEV, например, в то время как устройства char используют MODULE_ALIAS_CHARDEV или MODULE_ALIAS_MISCDEV, а сетевые протоколы используют MODULE_ALIAS_NETPROTO.
по данным 2011 Патч от Mans Rullgard (linaro) или совершить Kay Sievers (vrfy), MODULE_ALIAS
с аргументом типа "platform:...
используется для включения автоматической загрузки модуля"при сканировании устройств платформы.". В драйверах SPI он используется для "hotpluggable водители платформы SPI, позволить загрузке модуля автоматической.", так как 43cc71eed1250755986da4c0f9898f9a635cb3bf Кей Сиверс -"платформа: префикс MODALIAS с " платформа:"":
префикс platform modalias строки с "platform:", который modprobe config для разрешения псевдонима черного списка, если userspace настроить его.
псевдонимы драйверов с "platform:" используются в ,