diff options
author | Zhang Zhuoyu <Zhuoyu.Zhang@freescale.com> | 2014-05-26 02:42:20 (GMT) |
---|---|---|
committer | Jose Rivera <German.Rivera@freescale.com> | 2014-05-27 14:05:08 (GMT) |
commit | 8596def61c88a5dad865f82e0067b0a2dbe003f2 (patch) | |
tree | 2b2976e7bf632da0addd2f0b26625b4b88de876c | |
parent | 85bf3f3ec70b48f39c8b57876d0bc91bc04ba142 (diff) | |
download | linux-fsl-qoriq-8596def61c88a5dad865f82e0067b0a2dbe003f2.tar.xz |
cpufreq: ppc-corenet-cpufreq: Fix __udivdi3 modpost error
bfa709bc823fc32ee8dd5220d1711b46078235d8 (cpufreq: powerpc: add cpufreq
transition latency for FSL e500mc SoCs) introduced a modpost error:
ERROR: "__udivdi3" [drivers/cpufreq/ppc-corenet-cpufreq.ko] undefined!
make[1]: *** [__modpost] Error 1
Fix this by avoiding 64 bit integer division.
gcc version 4.8.2
Fixes: bfa709bc823f (cpufreq: powerpc: add cpufreq transition latency for FSL e500mc SoCs)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Zhang Zhuoyu <Zhuoyu.Zhang@freescale.com>
Change-Id: I234b1b4b298f8821204093a76eab4ba78d04a55d
Reviewed-on: http://git.am.freescale.net:8181/12859
Reviewed-by: Yuantian Tang <yuantian.tang@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Tested-by: Jose Rivera <German.Rivera@freescale.com>
-rw-r--r-- | drivers/cpufreq/ppc-corenet-cpufreq.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/cpufreq/ppc-corenet-cpufreq.c b/drivers/cpufreq/ppc-corenet-cpufreq.c index f759ab7..1efab8f 100644 --- a/drivers/cpufreq/ppc-corenet-cpufreq.c +++ b/drivers/cpufreq/ppc-corenet-cpufreq.c @@ -149,6 +149,7 @@ static int corenet_cpufreq_cpu_init(struct cpufreq_policy *policy) struct cpufreq_frequency_table *table; struct cpu_data *data; unsigned int cpu = policy->cpu; + u64 transition_latency_hz; np = of_get_cpu_node(cpu, NULL); if (!np) @@ -216,8 +217,9 @@ static int corenet_cpufreq_cpu_init(struct cpufreq_policy *policy) for_each_cpu(i, per_cpu(cpu_mask, cpu)) per_cpu(cpu_data, i) = data; + transition_latency_hz = 12ULL * NSEC_PER_SEC; policy->cpuinfo.transition_latency = - (12ULL * NSEC_PER_SEC) / fsl_get_sys_freq(); + do_div(transition_latency_hz, fsl_get_sys_freq()); policy->cur = corenet_cpufreq_get_speed(policy->cpu); cpufreq_frequency_table_get_attr(table, cpu); |