On 03/18/2014 08:31 PM, Dirk Brandewie wrote:
On 03/17/2014 10:44 PM, Viresh Kumar wrote:
On Sat, Mar 15, 2014 at 2:33 AM, <dirk.brandewie@xxxxxxxxx> wrote:I looked at doing just that but it junked up the code. if stop() is called
+
static int intel_pstate_cpu_init(struct cpufreq_policy *policy)
{
struct cpudata *cpu;
@@ -818,7 +824,7 @@ static struct cpufreq_driver intel_pstate_driver = {
.setpolicy = intel_pstate_set_policy,
.get = intel_pstate_get,
.init = intel_pstate_cpu_init,
- .exit = intel_pstate_cpu_exit,
+ .stop = intel_pstate_cpu_stop,
Probably, keep exit as is and only change P-state in stop(). So that
allocation of resources happen in init() and they are freed in exit()?
during PREPARE then init() will be called via __cpufreq_add_dev() in the
ONLINE
and DOWN_FAILED case. So once stop() is called the driver will be ready for
init() to be called exactly like when exit() is called.
I'm sorry, but that didn't make much sense to me. Can you be a little
more specific as to what problems you hit while trying to have a
->stop() which sets min P state and a separate ->exit() which frees
the resources? I think we can achieve this with almost no trouble.
If you ignore the failure case (such as DOWN_FAILED) for now, do you
still see any serious roadblocks?
Regards,
Srivatsa S. Bhat