【发布时间】:2012-11-02 09:53:49
【问题描述】:
我正在为 microblaze 架构开发一个 cpufreq 驱动程序(作为可加载的内核模块)。我有一些能够扩展系统时钟的 FPGA 逻辑,它工作得很好。我按照Documentation/cpu-freq/cpu-drivers.txt中的信息,查看了blackfin cpufreq驱动中的模型。
我还对arch/microblaze/Kconfig 进行了必要的更改,以便将 cpufreq 选项内置到内核(不是模块)中。
当我第一次加载驱动程序时,cpufreq_register_driver() 正在返回 -ENODEV,这意味着它找不到 CPU。我将驱动程序标志设置为 CPUFREQ_STICKY 并且能够插入模块。
但是,此时我意识到/sys/devices/system/cpu/cpu0 不存在(尽管/sys/devices/system/cpu/cpufreq 存在)。那么,这是为什么呢?内核代码的哪一部分负责创建该目录?
【问题讨论】:
标签: linux kernel sysfs microblaze