Что такое псевдоним модуля в коде драйвера устройства 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:" используются в ,