OMAP3: PM: move device-specific special cases from PM core into CPUidle
authorKevin Hilman <khilman@deeprootsystems.com>
Wed, 8 Sep 2010 23:37:42 +0000 (16:37 -0700)
committerKevin Hilman <khilman@deeprootsystems.com>
Fri, 24 Sep 2010 00:13:50 +0000 (17:13 -0700)
commite7410cf7831c2e5106a90dac6179df5d2c9bd60e
treed53065cc2c53d2cc512b5bbb0a8f4ba23c652eac
parent6cdee91257bee23a46dc869ca62469b67cba2c7e
OMAP3: PM: move device-specific special cases from PM core into CPUidle

In an effort to simplify the core idle path, move any device-specific
special case handling from the core PM idle path into the CPUidle
pre-idle checking path.

This keeps the core, interrupts-disabled idle path streamlined and
independent of any device-specific handling, and also allows CPUidle
to do the checking only for certain C-states as needed.  This patch
has the device checks in place for all states with the CHECK_BM flag,
namely all states >= C2.

This patch was inspired by a similar patch written by Tero Kristo as
part of a larger series to add INACTIVE state support.

NOTE: This is a baby-step towards decoupling device idle (or system
idle) from CPU idle.  Eventually, CPUidle should only manage the CPU,
and device/system idle should be managed elsewhere.

Cc: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/mach-omap2/cpuidle34xx.c
arch/arm/mach-omap2/pm34xx.c