Linux设备驱动代码中的MODULE_ALIAS是什么?
问题:Linux设备驱动代码中的MODULE_ALIAS是什么? 代码中 MODULE_ALIAS 的解释说 /* work with hotplug and coldplug */ MODULE_ALIAS("platform:omap2_mcspi"); 但是,MODULE_ALIAS 到底是什么? 论点中的 : (冒号)是否有意义? 解答 MODULE_ALIAS是宏,在 2002 年随着
问题:Linux设备驱动代码中的MODULE_ALIAS是什么?
代码中 MODULE_ALIAS 的解释说
/* work with hotplug and coldplug */
MODULE_ALIAS("platform:omap2_mcspi");
但是,MODULE_ALIAS 到底是什么?
论点中的 : (冒号)是否有意义?
解答
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")
内核将自行解决搜索。
您可以在http://lwn.net/Articles/47412/“MODULE_ALIAS”文章中阅读有关此宏的更多信息,作者:corbet,2003-09-03。
corbet列出的MODULE_ALIAS
还有几个特殊版本:
实际使用的变体取决于子系统;例如,块驱动程序使用 MODULE_ALIAS_BLOCKDEV,而字符设备使用 MODULE_ALIAS_CHARDEV 或 MODULE_ALIAS_MISCDEV,网络协议使用 MODULE_ALIAS_NETPROTO。
根据来自 Mans Rullgard (linaro)](http://lists.linaro.org/pipermail/linaro-dev/2011-September/007331.html)的2011 补丁,或 Kay Sievers (vrfy)的[提交,带有"platform:...
之类的参数的MODULE_ALIAS
用于启用模块自动加载“._when”设备。在 SPI 驱动程序中,它用于“hotpluggable SPI 平台驱动程序,以允许模块自动加载。”,因为 Kay Sievers 的 43cc71eed1250755986da4c0f9898f9a635cb3bf -“平台:前缀 MODALIAS 与”平台:“”:
以“平台:”为前缀的平台模式别名字符串,如果用户空间配置它,则 modprobe 配置将黑名单别名解析。
ZWZ100033文件中使用的驱动程序别名,ZWZ100020功能ZWZ100034 ZWZ100021 ZWZ100021 ZWZ100019(ZWZ100035)和ZWZ100023 ZWZ100036 ZWZ100024 ZWZ100024 ZWZ100022 ZWZ100037 WERY ZWZ100037 ASWZ100037 ASWZ100037 WERY as acRONEN 38838888888888888888888888888888888888888888.
更多推荐
所有评论(0)