参考
cpu thermal
https://blog.csdn.net/agave7/article/details/105140240/
https://blog.csdn.net/feelabclihu/article/details/118617876
drivers/cpufreq/qcom-cpufreq-hw.c
驱动函数
设备
qcom/qti_cpufreq_cdev.c
cpufreq_bouncing 模块
在驱动ready 函数里面初始化改模块
/sys/module/cpufreq_bouncing/parameters/config 注册文件节点回调函数
cpufreq core
drivers/cpufreq/cpufreq.c
kobject_create_and_add("cpufreq", &cpu_subsys.dev_root->kobj);
在cpu_subsys.dev_root->kobj 下面创建 cpufreq 目录
cpu.c
cpu 子系统
drivers/base/cpu.c
创建 /sys/devices/system/cpu 子系统
cpu driver
drivers/cpufreq/cpufreq.c
int cpufreq_register_driver(struct cpufreq_driver *driver_data){
ret = subsys_interface_register(&cpufreq_interface);
}
cpufreq_governor
drivers/cpufreq/cpufreq_performance.c
drivers/cpufreq/cpufreq.c
scheduler 在util 改变调用 cpufreq_update_util 来调用下面注册的回答接口调频