[v2 0/7] OMAP: GPIO: Use PM runtime framework

Varadarajan, Charulatha charu at ti.com
Mon Apr 18 11:06:50 EDT 2011

From: Charulatha V <charu at ti.com>

Use PM runtime framework in OMAP GPIO driver.

Patch series is based on mainline rc3 following commit
commit a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077
Merge branch 'i2c-for-linus' of

Changes in v2:
* Use a per-bank flag 'looses_context' (using pwrdm_can_ever_lose_context())
       instead of using the powerdomain name
* Make use of omap_device_get_context_loss_count() to decide on if restore
       context needs to be done.
* Do not remove #ifdef CONFIG_ARCH_OMAP2PLUS
* Do not use pm_runtime_suspended() before calling pm_runtime_get_sync/put_sync
* use IS_ERR_VALUE() instead of '< 0' in "if" conditions
(Thanks to Kevin and Paul for the above suggestions)

Previous version of this patch series is available at:

Compile tested for:
 - omap1_defconfig
 - omap2plus_defconfig

Boot test (success on the following boards):
 - OMAP1710-H3
 - OMAP2420-H4
 - OMAP3430-SDP
 - OMAP3430-Zoom2
 - OMAP3630-Zoom3
 - OMAP4430-SDP

GPIO module functionality testing (success on the following boards):
 - OMAP2420-H4
 - OMAP3430-SDP
 - OMAP3430-Zoom2
 - OMAP3630-Zoom3
 - OMAP4430-SDP

PM Testing (success as given below):
OMAP3430-SDP: retention, off_mode, system_wide suspend, gpio wakeup
OMAP3630-Zoom3: retention, system_wide suspend
using the following:
	     echo 5 > /sys/devices/platform/omap/omap_uart.0/sleep_timeout
	     echo 5 > /sys/devices/platform/omap/omap_uart.1/sleep_timeout
	     echo 5 > /sys/devices/platform/omap/omap_uart.2/sleep_timeout
	     echo 5 > /sys/devices/platform/omap/omap_uart.3/sleep_timeout
	     echo '5' > /debug/pm_debug/wakeup_timer_seconds
	     echo 1 > /debug/pm_debug/sleep_while_idle
	     echo 1 > /debug/pm_debug/enable_off_mode
	     echo mem > /sys/power/state

Charulatha V (7):
  OMAP: GPIO: Make gpio_context part of gpio_bank structure
  OMAP: GPIO: Use flag to identify wkup dmn GPIO
  OMAP4: GPIO: Save/restore context
  OMAP: GPIO: handle save/restore ctx in GPIO driver
  OMAP2+: GPIO: make workaround_enabled bank specific
  OMAP: GPIO: Cleanup prepare_for_idle/resume
  OMAP: GPIO: use PM runtime framework

 arch/arm/mach-omap2/gpio.c             |    6 +
 arch/arm/mach-omap2/pm34xx.c           |   22 +-
 arch/arm/plat-omap/gpio.c              |  766 ++++++++++++++++++--------------
 arch/arm/plat-omap/include/plat/gpio.h |    3 +-
 4 files changed, 439 insertions(+), 358 deletions(-)

More information about the linux-arm-kernel mailing list