CPUFreq

代码主要的功能

1) 平台相关的初始化动作,包括CPU core的clock/regulator获取,初始化
2) 生成frequency table,即 CPU core所支持的频率/电压列表。并在初始化的时候将该table保存在policy
3) 定义一个strcut cpufreq_driver变量,填充必要的字段,并根据平台的特性,实现其中的回调函数;
4) 调用cpufreq_register_driver将driver注册到cpufreq framework中
5) cpufreq core会在CPU设备添加时,调用driver的init接口。driver需要在接口中初始化struct cpufreq变量
6) 系统运行过程中,cpufreq core会根据实际情况,调用driver的sepolicy或者target/target_index等接口,设置
CPU的调频策略或者频率值
7) 系统suspend的时候,会将CPU的频率设置为指定的值,或者调用driver的suspend回调函数;系统resume时调用driver的resume回调函数;

cpufreq driver

frequency table是CPU core可以正确运行的一组频率/电压组合