初始化驱动程序时,module_init
和subsys_initcall
之间有什么区别?初始化驱动程序时module_init和subsys_initcall有什么区别?
回答
不同之处在于时机,或者更确切地说,是执行顺序。也就是说,声明为subsys_initcall
的程序保证在声明为module_init
的程序之前执行。该顺序确保在设备驱动程序试图利用前者的功能(例如,设备驱动程序注册为子系统设备)之前,子系统和平台驱动程序被初始化。
每个宏的实际宏定义取决于内核是否配置为(可加载)模块。这些宏(和其他init宏)的定义可以在include/linux/init.h
中找到。请注意subsys_initcall()
只能由内置(静态链接)模块使用。
module_init
可由内置或可装载模块使用。
非常清楚..谢谢.. – kzs 2013-03-21 12:15:58
对于可加载的'* .ko'模块,'subsys_initcall()'映射到'module_init()',即'device_initcall()参考:http ://lxr.free-electrons.com/source/include/linux/init.h#L298 – TheCodeArtist 2015-01-22 09:54:02
- 1. 用=初始化和用{}初始化有什么区别?
- 2. Java中静态初始化和动态初始化有什么区别?
- 3. 初始化字符串时'...'和“...”有什么区别?
- 4. 物理驱动程序和虚拟驱动程序有什么区别?
- 5. misc驱动程序和字符驱动程序有什么区别?
- 6. 在下一步中声明和初始化的初始化有什么区别?
- 7. 驱动程序和单元测试有什么区别?
- 8. windows设备驱动程序中pdo和fdo有什么区别?
- 9. WARP驱动程序,参考驱动程序和软件驱动程序有什么区别?
- 10. WDM驱动程序,KMDF驱动程序和UMDF驱动程序有什么区别?
- 11. 在初始化ruby类时,@name或self.name有什么区别?
- 12. oracle“初始化参数”和“会话参数”有什么区别?
- 13. hybris系统初始化和更新有什么区别?
- 14. 初始化字典和在Swift中声明有什么区别?
- 15. create_before和rails在初始化之间有什么区别?
- 16. cdev的初始化是linux设备驱动程序:两个认证之间有什么区别?
- 17. Linux内核模块中module_init和init_module有什么区别?
- 18. Cuda驱动程序初始化失败
- 19. 不初始化指针并将其初始化为null会有什么区别?
- 20. 我在什么时区初始化QDateTime?
- 21. 为什么需要在驱动程序初始化时加载蓝牙固件?
- 22. 使用驱动程序{SQL SERVER}与Native Client有什么区别
- 23. AuxilliarySenorDesigner(驱动程序)与CustomSensorDesigner之间有什么区别?
- 24. 初始化驱动程序时硒连接超时
- 25. 是什么在C#初始化和赋值的区别
- 26. 这两种初始化PHP类的方法有什么区别?
- 27. 这个初始化方法有什么区别?
- 28. Swing窗口可以初始化的方式有什么区别?
- 29. 初始化前端控制器,这两个有什么区别
- 30. C++中字符串初始化有什么区别?
您是否检查手册页? – rekire 2013-03-21 07:07:09
没有可用的手册页。 – kzs 2013-03-21 07:26:46
你总是可以通过源代码来grep。通过查看消息来源可以解释很多问题。 – 2014-01-22 08:09:01