summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c64xx/include/mach/pm-core.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2011-07-21 16:34:00 +0200
committerArnd Bergmann <arnd@arndb.de>2011-07-21 16:34:00 +0200
commit1e09939bad24df95ddeeeca4fbec64fa94b66def (patch)
tree8a4661ed8c4619db28863353858e0171171b7d8a /arch/arm/mach-s3c64xx/include/mach/pm-core.h
parent4d09a938861ef16248334d57ae250e109b0004ae (diff)
parente8de616e39ccea3b8d3cf7e68f16d216f183c4bf (diff)
downloadlinux-1e09939bad24df95ddeeeca4fbec64fa94b66def.tar.bz2
Merge branch 'next-samsung-devel' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/devel
Diffstat (limited to 'arch/arm/mach-s3c64xx/include/mach/pm-core.h')
-rw-r--r--arch/arm/mach-s3c64xx/include/mach/pm-core.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/arch/arm/mach-s3c64xx/include/mach/pm-core.h b/arch/arm/mach-s3c64xx/include/mach/pm-core.h
index 1e9f20f0bb7b..38659bebe4b1 100644
--- a/arch/arm/mach-s3c64xx/include/mach/pm-core.h
+++ b/arch/arm/mach-s3c64xx/include/mach/pm-core.h
@@ -53,7 +53,7 @@ static inline void s3c_pm_arch_show_resume_irqs(void)
* the IRQ wake controls depending on the CPU we are running on */
#define s3c_irqwake_eintallow ((1 << 28) - 1)
-#define s3c_irqwake_intallow (0)
+#define s3c_irqwake_intallow (~0)
static inline void s3c_pm_arch_update_uart(void __iomem *regs,
struct pm_uart_save *save)
@@ -96,3 +96,20 @@ static inline void s3c_pm_arch_update_uart(void __iomem *regs,
save->ucon = new_ucon;
}
}
+
+static inline void s3c_pm_restored_gpios(void)
+{
+ /* ensure sleep mode has been cleared from the system */
+
+ __raw_writel(0, S3C64XX_SLPEN);
+}
+
+static inline void s3c_pm_saved_gpios(void)
+{
+ /* turn on the sleep mode and keep it there, as it seems that during
+ * suspend the xCON registers get re-set and thus you can end up with
+ * problems between going to sleep and resuming.
+ */
+
+ __raw_writel(S3C64XX_SLPEN_USE_xSLP, S3C64XX_SLPEN);
+}