作者dou0228 (7777)
看板LinuxDev
标题Re: [问题] Driver的启动顺序问题?
时间Thu Apr 1 12:24:36 2010
※ 引述《mayasky ( )》之铭言:
: 如果属於於同一类的话这招或许就不行了?
: 有__init会link该function在一个init table里
: init时会走过一次这table
: 如果在同一级中似乎是按照实作(or宣告)的先後顺序link?
: (以上皆是遥远的记忆,我遇过一次这需求)
: 所以你要B先跑就先实作B~再实作A
: 目的就是安排init table的先後罢了
: 手边没机器可以TRACE和实验,有错请告诉我XD
try this
假设 B 须要 A
A.c
------
void need_a(void)
{
}
EXPORT_SYMBOL(need_a);
-----
A.h
....
extern void need_a(void);
-----
重点的 B.c
#include "A.h"
在 __init function 前面
need_a();
这样他就知道你两个 module 之间有关联
PS: 静态连结至 kernel 小心 GPL 问题
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.68.90