2013-08-29 96 views
0

我正在将一些热代码添加到Linux中。我发现这个代码在某一点上假定CPUFreq已经被初始化。这两个驱动程序都是通过module_platform_driver初始化的。目前module_platform_driver(therm)在module_platform_driver(cpufreq)之前调用。是否可以更改初始化顺序以确保在module_platform_driver(cpufreq)之后调用module_platform_driver(therm)?或者是否需要将热驱动程序更改为使用稍后订购的device_initcall,但没有漂亮的“platform_driver”包装器?module_platform_driver初始化顺序

+0

您想确保* static *模块的初始化顺序?这两个模块(cpufreq和thermal)将在内核树中被找到? – eepp

+0

感谢您的回复。是的,我想确保静态模块初始化顺序。在设备树中,CPUFreq是第一个,最后是散热器。 –

+0

这并不重要,因为在加载驱动程序模块之前,设备可能是由体系结构特定的初始化代码*添加的。然后,静态驱动程序初始化顺序很重要。你没有回答我的问题。我不是在谈论* device tree *,而是关于* kernel tree *。你的模块源(cpufreq和热模块)将在内核源代码树中? – eepp

回答