aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorInderpal Singh <inderpal.singh@samsung.com>2012-11-22 00:46:21 -0500
committerKukjin Kim <kgene.kim@samsung.com>2012-11-27 17:42:05 -0500
commit3445513ca283ebf55ce2345ef408f28d98884dab (patch)
tree59cbb5dd611f5b8f663c38fe06098103a2caafd7
parent756e46dbaacf1d6d3cbefcef725e0f969afcb1e5 (diff)
ARM: EXYNOS: Add support for rtc wakeup
Set the gic arch extension callback to support rtc wakeup. Signed-off-by: Inderpal Singh <inderpal.singh@samsung.com> Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r--arch/arm/mach-exynos/common.c2
-rw-r--r--arch/arm/plat-samsung/include/plat/pm.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index 1947be8e5f5b..8dd19c696a60 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -647,6 +647,8 @@ void __init exynos5_init_irq(void)
647 * uses GIC instead of VIC. 647 * uses GIC instead of VIC.
648 */ 648 */
649 s5p_init_irq(NULL, 0); 649 s5p_init_irq(NULL, 0);
650
651 gic_arch_extn.irq_set_wake = s3c_irq_wake;
650} 652}
651 653
652struct bus_type exynos_subsys = { 654struct bus_type exynos_subsys = {
diff --git a/arch/arm/plat-samsung/include/plat/pm.h b/arch/arm/plat-samsung/include/plat/pm.h
index 61fc53740fbd..887a0c954379 100644
--- a/arch/arm/plat-samsung/include/plat/pm.h
+++ b/arch/arm/plat-samsung/include/plat/pm.h
@@ -107,10 +107,12 @@ extern void s3c_pm_do_restore(struct sleep_save *ptr, int count);
107extern void s3c_pm_do_restore_core(struct sleep_save *ptr, int count); 107extern void s3c_pm_do_restore_core(struct sleep_save *ptr, int count);
108 108
109#ifdef CONFIG_PM 109#ifdef CONFIG_PM
110extern int s3c_irq_wake(struct irq_data *data, unsigned int state);
110extern int s3c_irqext_wake(struct irq_data *data, unsigned int state); 111extern int s3c_irqext_wake(struct irq_data *data, unsigned int state);
111extern int s3c24xx_irq_suspend(void); 112extern int s3c24xx_irq_suspend(void);
112extern void s3c24xx_irq_resume(void); 113extern void s3c24xx_irq_resume(void);
113#else 114#else
115#define s3c_irq_wake NULL
114#define s3c_irqext_wake NULL 116#define s3c_irqext_wake NULL
115#define s3c24xx_irq_suspend NULL 117#define s3c24xx_irq_suspend NULL
116#define s3c24xx_irq_resume NULL 118#define s3c24xx_irq_resume NULL