summaryrefslogtreecommitdiff
path: root/arch/arm/mach-s3c24xx/irq-pm.c
diff options
context:
space:
mode:
authorHeiko Stuebner <heiko@sntech.de>2013-01-29 22:25:22 +0400
committerKukjin Kim <kgene.kim@samsung.com>2013-02-04 03:52:46 +0400
commitef602eb53c84100ab801ffa3a11ea02315fe38a8 (patch)
tree777a5643be1bf1afe0b860eae42a1296a9edbfc3 /arch/arm/mach-s3c24xx/irq-pm.c
parentb4a343e5b333ca02f7731c824b600fe64d8ce28c (diff)
downloadlinux-ef602eb53c84100ab801ffa3a11ea02315fe38a8.tar.xz
ARM: S3C24XX: move s3c2416 irq init to common irq code
This is needed to further clean up the irq init. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s3c24xx/irq-pm.c')
-rw-r--r--arch/arm/mach-s3c24xx/irq-pm.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c24xx/irq-pm.c b/arch/arm/mach-s3c24xx/irq-pm.c
index 640ec916f4c7..e1199599873e 100644
--- a/arch/arm/mach-s3c24xx/irq-pm.c
+++ b/arch/arm/mach-s3c24xx/irq-pm.c
@@ -99,3 +99,26 @@ struct syscore_ops s3c24xx_irq_syscore_ops = {
.suspend = s3c24xx_irq_suspend,
.resume = s3c24xx_irq_resume,
};
+
+#ifdef CONFIG_CPU_S3C2416
+static struct sleep_save s3c2416_irq_save[] = {
+ SAVE_ITEM(S3C2416_INTMSK2),
+};
+
+static int s3c2416_irq_suspend(void)
+{
+ s3c_pm_do_save(s3c2416_irq_save, ARRAY_SIZE(s3c2416_irq_save));
+
+ return 0;
+}
+
+static void s3c2416_irq_resume(void)
+{
+ s3c_pm_do_restore(s3c2416_irq_save, ARRAY_SIZE(s3c2416_irq_save));
+}
+
+struct syscore_ops s3c2416_irq_syscore_ops = {
+ .suspend = s3c2416_irq_suspend,
+ .resume = s3c2416_irq_resume,
+};
+#endif