aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pm44xx.c
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2011-11-08 11:55:55 -0600
committerNishanth Menon <nm@ti.com>2011-11-08 12:01:18 -0600
commit0b61decfd2feb08ca88a3fbcf1e054f99931b192 (patch)
tree80d794e28cd2c7a0a4dc0f9d1860646097960b22 /arch/arm/mach-omap2/pm44xx.c
parent7b098b0cd8d20a34200d15dfd22287a2c84014f1 (diff)
downloadkernel_samsung_tuna-0b61decfd2feb08ca88a3fbcf1e054f99931b192.zip
kernel_samsung_tuna-0b61decfd2feb08ca88a3fbcf1e054f99931b192.tar.gz
kernel_samsung_tuna-0b61decfd2feb08ca88a3fbcf1e054f99931b192.tar.bz2
OMAP4: PM: move GPIO restore before removing I/O isolation
Restore GPIO before removing the I/O isolation. Original code restored GPIO just after removing I/O isolation. this code was modified in 4167a91d2db65b09b74a405cafa3df2f17d55bd4 (ARM: omap2+: gpio: simplify updating gpios in off vs. retention) to be after Smartreflex AVS re-enable, which increases the risk of GPIO glitch. instead, move the GPIO restore to before the I/O isolation is released to ensure that there is no potential glitch in the system. Change-Id: I220ed73ecb0a88cb45a2cd741cd9fe93fa4cae55 Reported-by: Aish Dubey <aish@ti.com> Reported-by: Vinay Amancha <vinaykumar@ti.com> Reported-by: Vinay Chaurasia <vinaych@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm44xx.c')
-rw-r--r--arch/arm/mach-omap2/pm44xx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
index 94d7c2f..88b6dba 100644
--- a/arch/arm/mach-omap2/pm44xx.c
+++ b/arch/arm/mach-omap2/pm44xx.c
@@ -224,6 +224,8 @@ abort_device_off:
omap_gpmc_restore_context();
}
+ omap2_gpio_resume_after_idle(omap4_device_next_state_off());
+
if (omap4_device_next_state_off()) {
/* Disable the extension of Non-EMIF I/O isolation */
omap4_prminst_rmw_inst_reg_bits(OMAP4430_ISOOVR_EXTEND_MASK,
@@ -237,7 +239,6 @@ abort_device_off:
omap_sr_enable(mpu_voltdm);
}
- omap2_gpio_resume_after_idle(omap4_device_next_state_off());
abort_gpio:
return;