【发布时间】:2013-03-20 02:58:27
【问题描述】:
我是内核和驱动程序编程的新手,所以我希望我的问题不要太简单。
我正在使用 madwifi 驱动程序,以便添加一些我自己的功能。在我的代码中,我添加了一些需要在实际代码开始之前初始化的变量和结构。
在工作时我遇到了以下问题:
将负责初始化此变量/结构的函数放在哪里最好?
据我所知,在将模块加载到内核时会执行一个特殊的宏 *module_init*,但是,我在 madwifi 驱动程序代码中找不到它。我发现的是另一个著名的宏,*exit_module*。
所以我的问题是:
- 是否建议添加一个 init_module 并在那里进行我的所有初始化?
- 是否建议使用 exit_module 来释放分配的内存?
感谢您的帮助!
奥马尔
【问题讨论】:
-
默认情况下,
init_module和cleanup_module函数在加载/卸载时被调用。module_init可以用另一个函数替换它。 -
你找过__devinit吗...
标签: linux linux-kernel wifi linux-device-driver