Fork me on GitHub

module_softdep

所谓的MODULE_SOFTDEP,就是两个两个模块之间本有依赖,但是一定要要加载顺序的要求。
用法很简单。

#define MODULE_SOFTDEP(_softdep) MODULE_INFO(softdep, _softdep)

举例如下:

 MODULE_SOFTDEP("pre: module-foo post: module-baz")

这个例子说明module-foo 这个模块。module-foo是这个模块的名字,因此这个模块就是module-foo.ko 必须要在
module-baz.ko 之前加载。

如果是在module-foo.ko 中包含的源文件中调用MODULE_SOFTDEP。则可以简化成MODULE_SOFTDEP("pre: module-foo"),反之既然.

在kernel中用到的例子。MODULE_SOFTDEP("pre: crct10dif");
会生成一个module.softdep的文件.文件中的内容如下:

softdep sctp_probe pre: sctp

这样调用modprobe的时候会从参考这个文件中的信息,在加载sctp_probe.ko 之前会线加载sctp.ko

posted @ 2024-08-25 15:53  yooooooo  阅读(1)  评论(0编辑  收藏  举报