On 09-09-20, 21:34, Hector Yuan wrote: > +static unsigned int mtk_cpufreq_hw_get(unsigned int cpu) > +{ > + struct cpufreq_mtk *c; > + struct cpufreq_policy *policy; > + unsigned int index; > + > + policy = cpufreq_cpu_get_raw(cpu); > + if (!policy) > + return 0; Why didn't you drop policy as we discussed in previous version ? > + c = mtk_freq_domain_map[cpu]; > + > + index = readl_relaxed(c->reg_bases[REG_PERF_STATE]); > + index = min(index, LUT_MAX_ENTRIES - 1); > + > + return policy->freq_table[index].frequency; policy->freq_table and c->table are same, isn't it ? > +} > + > +static struct platform_driver mtk_cpufreq_hw_driver = { > + .probe = mtk_cpufreq_hw_driver_probe, > + .remove = mtk_cpufreq_hw_driver_remove, > + .driver = { > + .name = "mtk-cpufreq-hw", > + .of_match_table = mtk_cpufreq_hw_match, > + }, > +}; > + Remove this blank line. > +module_platform_driver(mtk_cpufreq_hw_driver); > + > +MODULE_DESCRIPTION("mtk CPUFREQ HW Driver"); Maybe write this is "Mediatek cpufreq-hw driver" ? > +MODULE_LICENSE("GPL v2"); > -- > 1.7.9.5 -- viresh