我是linux-kernel的新手。我有疑问。
假设我有一个名为:void foo1()的函数,并且此函数正在调用其他函数foo2(),即:void __cpuinit foo2()。
现在,modpost将报告部分不匹配警告。现在在这种情况下我们有这些选项:
1)我们使用__cpuinit注释函数foo1()。
2)我们从foo2()
中删除__cpuinit3)我们将__ref注释为函数foo1()
现在在我的情况下我不能选择选项1和2.所以我必须选择选项3。 我的问题;
答案 0 :(得分:2)
__ref
只是压制警告。
它不会删除警告的原因,即,当您从foo2()
调用foo1()
时,内核仍然会爆炸。
只有在__ref
代码被释放后确保foo1()
实际调用foo2()
时,才能使用__cpuinit
。