Hi Amit and fellows in PM group,
After invistigating both freescale's DVFS driver and cpufreq driver, I got some conclusion. The hw-based governor could be designed in the way just like what the performace or powersave governor did, which simply provide interfaces CPUFREQ_GOV_START and CPUFREQ_GOV_STOP. That means this governor is only responsible to turn the DVFS on or off, and leave the rest work to cpufreq driver itself. Of course, to do so, we need add some code in the cpufreq driver to handle DVFS interrupt and report the updated frequency in cpufreq system.
At code level, one more file could be add for hw-based governor. And some new fields needs to be added into those cpufreq related structures in order to glue the newly added governor and cpufreq driver.
Do you guys have any more ideal?
Yong