2013-08-29 95 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

回答