cpuidle: stop depending on pm_idle

cpuidle users should call cpuidle_call_idle() directly
rather than via (pm_idle)() function pointer.

Architecture may choose to continue using (pm_idle)(),
but cpuidle need not depend on it:

  my_arch_cpu_idle()
	...
	if(cpuidle_call_idle())
		pm_idle();

cc: Kevin Hilman <[email protected]>
cc: Paul Mundt <[email protected]>
cc: [email protected]
Acked-by: H. Peter Anvin <[email protected]>
Signed-off-by: Len Brown <[email protected]>
This commit is contained in:
Len Brown 2011-04-01 19:34:59 -04:00
commit a0bfa13738
6 changed files with 33 additions and 25 deletions

View file

@ -30,6 +30,7 @@
#include <linux/uaccess.h>
#include <linux/random.h>
#include <linux/hw_breakpoint.h>
#include <linux/cpuidle.h>
#include <asm/cacheflush.h>
#include <asm/leds.h>
@ -196,7 +197,8 @@ void cpu_idle(void)
cpu_relax();
} else {
stop_critical_timings();
pm_idle();
if (cpuidle_call_idle())
pm_idle();
start_critical_timings();
/*
* This will eventually be removed - pm_idle