Joh*_*lvr 12 module linux-kernel
如果我有两个静态链接的模块.一个模块的module_init函数依赖于已经运行的另一个模块的module_init函数.有没有办法强制一个模块在另一个模块之前加载?
另外,第一个模块的init函数是否可以在调用第二个模块之前完成?
最后,如果上面的答案为NO,那么同步两个模块init调用的推荐方法是什么,以确保我不会遇到问题?
ado*_*yan 13
有没有办法强制一个模块在另一个模块之前加载?
答案非常简单,请确保第一个模块是Makefile中的第一个:
obj-y += mod1.o
obj-y += mod2.o
Run Code Online (Sandbox Code Playgroud)
是第一个模块的init函数保证在调用第二个之前完成?
是的,module_init你的情况下的initcalls(钩子)是逐个调用的.看init/main.c,
do_one_initcall()来电者.
我假设你想修复静态初始化失败
看一下