diff options
author | Ed Swarthout <Ed.Swarthout@freescale.com> | 2014-06-05 19:56:17 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-06-06 16:50:43 -0400 |
commit | 906fe033145aab7d65a428bfda2cf19c75720894 (patch) | |
tree | 125ced3640d52f61faa26f07f31df6e0b66e4863 | |
parent | 57aa5ea0eea267f90be5e69def4e877ce2c81677 (diff) |
cpufreq: ppc-corenet-cpu-freq: do_div use quotient
Commit 6712d2931933 (cpufreq: ppc-corenet-cpufreq: Fix __udivdi3 modpost
error) used the remainder from do_div instead of the quotient. Fix that
and add one to ensure minimum is met.
Fixes: 6712d2931933 (cpufreq: ppc-corenet-cpufreq: Fix __udivdi3 modpost error)
Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com>
Cc: 3.15+ <stable@vger.kernel.org> # 3.15+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/cpufreq/ppc-corenet-cpufreq.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/cpufreq/ppc-corenet-cpufreq.c b/drivers/cpufreq/ppc-corenet-cpufreq.c index 0af618abebaf..3607070797af 100644 --- a/drivers/cpufreq/ppc-corenet-cpufreq.c +++ b/drivers/cpufreq/ppc-corenet-cpufreq.c | |||
@@ -138,7 +138,7 @@ static int corenet_cpufreq_cpu_init(struct cpufreq_policy *policy) | |||
138 | struct cpufreq_frequency_table *table; | 138 | struct cpufreq_frequency_table *table; |
139 | struct cpu_data *data; | 139 | struct cpu_data *data; |
140 | unsigned int cpu = policy->cpu; | 140 | unsigned int cpu = policy->cpu; |
141 | u64 transition_latency_hz; | 141 | u64 u64temp; |
142 | 142 | ||
143 | np = of_get_cpu_node(cpu, NULL); | 143 | np = of_get_cpu_node(cpu, NULL); |
144 | if (!np) | 144 | if (!np) |
@@ -206,9 +206,10 @@ static int corenet_cpufreq_cpu_init(struct cpufreq_policy *policy) | |||
206 | for_each_cpu(i, per_cpu(cpu_mask, cpu)) | 206 | for_each_cpu(i, per_cpu(cpu_mask, cpu)) |
207 | per_cpu(cpu_data, i) = data; | 207 | per_cpu(cpu_data, i) = data; |
208 | 208 | ||
209 | transition_latency_hz = 12ULL * NSEC_PER_SEC; | 209 | /* Minimum transition latency is 12 platform clocks */ |
210 | policy->cpuinfo.transition_latency = | 210 | u64temp = 12ULL * NSEC_PER_SEC; |
211 | do_div(transition_latency_hz, fsl_get_sys_freq()); | 211 | do_div(u64temp, fsl_get_sys_freq()); |
212 | policy->cpuinfo.transition_latency = u64temp + 1; | ||
212 | 213 | ||
213 | of_node_put(np); | 214 | of_node_put(np); |
214 | 215 | ||