"Gautham R. Shenoy" <e...@linux.vnet.ibm.com> writes:

> diff --git a/drivers/cpuidle/cpuidle-powernv.c 
> b/drivers/cpuidle/cpuidle-powernv.c
> index 7fe442c..9240e08 100644
> --- a/drivers/cpuidle/cpuidle-powernv.c
> +++ b/drivers/cpuidle/cpuidle-powernv.c
> @@ -243,28 +262,31 @@ static int powernv_add_idle_states(void)
>                */
>               if (latency_ns[i] > POWERNV_THRESHOLD_LATENCY_NS)
>                       continue;
> +             /*
> +              * Firmware passes residency and latency values in ns.
> +              * cpuidle expects it in us.
> +              */
> +             exit_latency = ((unsigned int)latency_ns[i]) / 1000;
> +             target_residency = (!rc) ? ((unsigned int)residency_ns[i]) : 0;
> +             target_residency /= 1000;

Urk.

Can you just do it normally:

                if (rc == 0)
                        target_residency = (unsigned int)residency_ns[i] / 1000;

I also don't see why you need the cast?

cheers

Reply via email to