Re: [PATCH] cpufreq: ppc-corenet-cpu-freq: do_div use quotient

From: Tim Gardner
Date: Fri Jun 06 2014 - 10:03:46 EST


On 06/04/2014 02:32 PM, Ed Swarthout wrote:
> 6712d2931933ada259b82f06c03a855b19937074 (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.
>
> Signed-off-by: Ed Swarthout <Ed.Swarthout@xxxxxxxxxxxxx>
> ---
> drivers/cpufreq/ppc-corenet-cpufreq.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/cpufreq/ppc-corenet-cpufreq.c b/drivers/cpufreq/ppc-corenet-cpufreq.c
> index 0af618a..3607070 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)
> struct cpufreq_frequency_table *table;
> struct cpu_data *data;
> unsigned int cpu = policy->cpu;
> - u64 transition_latency_hz;
> + u64 u64temp;
>
> np = of_get_cpu_node(cpu, NULL);
> if (!np)
> @@ -206,9 +206,10 @@ 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 =
> - do_div(transition_latency_hz, fsl_get_sys_freq());
> + /* Minimum transition latency is 12 platform clocks */
> + u64temp = 12ULL * NSEC_PER_SEC;
> + do_div(u64temp, fsl_get_sys_freq());
> + policy->cpuinfo.transition_latency = u64temp + 1;
>
> of_node_put(np);
>
>

Whoops, what was I thinking ? You should also add "Cc:
stable@xxxxxxxxxxxxxxx # 3.15+" since this patch will likely miss 3.15
final.

Acked-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>

--
Tim Gardner tim.gardner@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/