"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