- 注册cpufreq_driver 时设置 cpufreq_policy .


/*
* 问渠哪得清如许, 唯有源头活水来. 那么我们就从
* 这一个源头来看下 struct cpufreq_polcy 是怎么从上游源头流经到下游的.
* 在流动途中接纳了什么 ? 最终形成了什么 ?
*
* if (cpu_online(cpu))
* ret = cpufreq_online()
*
* 很显然顾名思义. cpufreq作用的对象是处于online状态的cpu. 之所以加上
* 这个 if 判断 是考虑到 cpuhotplug 机制的影响. 当然如果cpuhp状态跃迁
* 到online上来了,那么cpufreq_online 是会被再次调用的. 这是cpufreq_driver_register()
* 的职责. 看下面.
* cpufreq_register_driver(...)
* {
* .......
* ret = cpuhp_setup_state_nocalls_cpuslocked(CPUHP_AP_ONLINE_DYN,
* "cpufreq:online",
* cpuhp_cpufreq_online, // 在这里.
* cpuhp_cpufreq_offline);
* }
* ok, 现在我们知道 处于online状态的cpu会执行下面的操作. 且如果小于online状态的cpu再次处于
* online状态时,该函数会再次被调用.</