我是内核和驱动程序编程的新手,所以我希望我的问题不是太简单。
我正在使用 madwifi 驱动程序,以添加我自己的一些功能。在我的代码中,我添加了一些需要在实际代码开始之前初始化的变量和结构。
在工作时,我遇到了以下问题:将负责初始化此变量/结构的函数放在哪里最好?据我所知,在将模块加载到内核时会执行一个特殊的宏 *module_init*,但是,我在 madwifi 驱动程序代码中找不到它。我发现的是另一个著名的宏,*exit_module*。所以我的问题是:
- 是否建议添加一个 init_module 并在那里进行所有初始化?
- 是否建议使用 exit_module 来释放分配的内存?
谢谢您的帮助!
奥马尔