return 0;
}
+static int cpufreq_sched_limits(struct cpufreq_policy *policy)
+{
+ if (policy->max < policy->cur)
+ __cpufreq_driver_target(policy,
+ policy->max,
+ CPUFREQ_RELATION_H);
+ else if (policy->min > policy->cur)
+ __cpufreq_driver_target(policy,
+ policy->min,
+ CPUFREQ_RELATION_L);
+
+ return 0;
+}
+
static int cpufreq_sched_setup(struct cpufreq_policy *policy,
unsigned int event)
{
case CPUFREQ_GOV_STOP:
return cpufreq_sched_stop(policy);
case CPUFREQ_GOV_LIMITS:
- break;
+ return cpufreq_sched_limits(policy);
}
return 0;
}