microblazeアーキテクチャ用のcpufreqドライバー(ロード可能なカーネルモジュールとして)を開発しています。オンシステムクロックをスケーリングできるFPGAロジックがいくつかあり、非常にうまく機能します。の情報に従い、Documentation/cpu-freq/cpu-drivers.txtblackfincpufreqドライバーのモデルを確認しました。
arch/microblaze/Kconfigまた、cpufreqオプションを(モジュールではなく)カーネルに組み込むために必要な変更を加えました。
私が最初にドライバーをロードしたとき、cpufreq_register_driver()-ENODEVを返していました。これは、CPUが見つからなかったことを意味します。ドライバフラグをCPUFREQ_STICKYに設定し、モジュールを挿入できました。
しかし、この時点で、私はそれ/sys/devices/system/cpu/cpu0が存在しないことに気づきました(存在し/sys/devices/system/cpu/cpufreqますが)。それで、それはなぜですか?カーネルコードのどの部分がそのディレクトリの作成を担当していますか?