Initial Samsung SPH-L710 kernel source
/drivers/cpufreq/cpufreq.c
blob:ba66160ea59712e3e1c43df933eb4e21be609206 -> blob:4007096d02082881ead10e6d199ba9971550d82b
--- drivers/cpufreq/cpufreq.c
+++ drivers/cpufreq/cpufreq.c
@@ -28,6 +28,7 @@
#include <linux/cpu.h>
#include <linux/completion.h>
#include <linux/mutex.h>
+#include <linux/sched.h>
#include <linux/syscore_ops.h>
#include <trace/events/power.h>
@@ -1115,6 +1116,9 @@ static int cpufreq_add_dev(struct sys_de
pr_debug("initialization failed\n");
goto err_unlock_policy;
}
+
+ if (policy->max > 1512000) policy->max = 1512000;
+
policy->user_policy.min = policy->min;
policy->user_policy.max = policy->max;
@@ -1611,6 +1615,12 @@ int __cpufreq_driver_target(struct cpufr
target_freq, relation);
if (cpu_online(policy->cpu) && cpufreq_driver->target)
retval = cpufreq_driver->target(policy, target_freq, relation);
+ if (likely(retval != -EINVAL)) {
+ if (target_freq == policy->max)
+ cpu_nonscaling(policy->cpu);
+ else
+ cpu_scaling(policy->cpu);
+ }
return retval;
}