我正在開發用於microblaze體系結構的cpufreq驅動程序(作爲可加載的內核模塊)。我有一些能夠擴展系統時鐘的FPGA邏輯,並且工作得很好。我遵循Documentation/cpu-freq/cpu-drivers.txt
中的信息並查看了blackfin cpufreq驅動程序中的模型。什麼linux內核代碼創建/ sys/devices/system/cpu/cpuX?
我還對arch/microblaze/Kconfig
進行了必要的更改,以便將cpufreq選項內置到內核中(而不是模塊)。
當我第一次加載驅動程序,cpufreq_register_driver()
返回-ENODEV,這意味着它找不到CPU。我將驅動程序標誌設置爲CPUFREQ_STICKY並能夠插入模塊。
但是,此時我意識到/sys/devices/system/cpu/cpu0
不存在(儘管/sys/devices/system/cpu/cpufreq
在那裏)。那麼,爲什麼呢?內核代碼的哪部分負責創建該目錄?