gpt4 book ai didi

linux-kernel - 初始化驱动程序时 module_init 和 subsys_initcall 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 14:00:38 29 4
gpt4 key购买 nike

module_init 和有什么区别和 subsys_initcall在初始化驱动程序时?

最佳答案

差异与时间有关,或者更准确地说,与执行顺序有关。即声明为subsys_initcall的过程保证在声明为 module_init 的过程之前执行.这种排序确保子系统和平台驱动程序在设备驱动程序尝试利用前者的功能之前被初始化(例如,设备驱动程序注册为子系统设备)。

每个宏的实际定义取决于内核是否配置为(可加载)模块。这些宏(和其他 init 宏)的定义可以在 include/linux/init.h 中找到。

请注意 subsys_initcall()只能由内置(静态链接)模块使用。module_init可以由内置或可加载模块使用。

关于linux-kernel - 初始化驱动程序时 module_init 和 subsys_initcall 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15541290/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com