Keep /proc/acpi/processor/CPU*/power around for a while as powertop depends on it. It will be marked deprecated and removed in future. powertop can use cpuidle interfaces instead. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx> Index: linux-2.6.22-rc-mm/drivers/acpi/processor_idle.c =================================================================== --- linux-2.6.22-rc-mm.orig/drivers/acpi/processor_idle.c 2007-06-01 16:17:40.000000000 -0700 +++ linux-2.6.22-rc-mm/drivers/acpi/processor_idle.c 2007-06-01 17:20:57.000000000 -0700 @@ -792,7 +792,7 @@ * @t1: the start time * @t2: the end time */ -static inline u32 ticks_elapsed(u32 t1, u32 t2) +static inline u32 ticks_elapsed_in_us(u32 t1, u32 t2) { if (t2 >= t1) return PM_TIMER_TICKS_TO_US(t2 - t1); @@ -802,6 +802,16 @@ return PM_TIMER_TICKS_TO_US((0xFFFFFFFF - t1) + t2); } +static inline u32 ticks_elapsed(u32 t1, u32 t2) +{ + if (t2 >= t1) + return (t2 - t1); + else if (!(acpi_gbl_FADT.flags & ACPI_FADT_32BIT_TIMER)) + return (((0x00FFFFFF - t1) + t2) & 0x00FFFFFF); + else + return ((0xFFFFFFFF - t1) + t2); +} + /** * acpi_idle_update_bm_rld - updates the BM_RLD bit depending on target state * @pr: the processor @@ -925,7 +935,8 @@ cx->usage++; acpi_state_timer_broadcast(pr, cx, 0); - return ticks_elapsed(t1, t2); + cx->time += ticks_elapsed(t1, t2); + return ticks_elapsed_in_us(t1, t2); } static int c3_cpu_count; @@ -1009,7 +1020,8 @@ cx->usage++; acpi_state_timer_broadcast(pr, cx, 0); - return ticks_elapsed(t1, t2); + cx->time += ticks_elapsed(t1, t2); + return ticks_elapsed_in_us(t1, t2); } /** - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html