diff options
author | Kukjin Kim <kgene.kim@samsung.com> | 2012-01-24 23:48:11 -0500 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-03-14 05:35:04 -0400 |
commit | bb19a7513dffc82f4b474ed90fc8ed691b54768b (patch) | |
tree | 66b098edcfe46a463337d4c1705e1385a7f197c8 /arch/arm/plat-s5p | |
parent | 94c7ca71c40ffcde28388a712cab524d636bec60 (diff) |
ARM: EXYNOS: add interrupt definitions for EXYNOS5250
This patch adds the interrupt definitions for EXYNOS5250 at
<mach/irqs.h> file and it is needed for EXYNOS5250 SoC.
As a note, for single zImage of EXYNOS4 and EXYNOS5, prefix
of EXYNOS4_ and EXYNOS5_ has been added.
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/plat-s5p')
-rw-r--r-- | arch/arm/plat-s5p/irq-pm.c | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/arch/arm/plat-s5p/irq-pm.c b/arch/arm/plat-s5p/irq-pm.c index 327acb3a4464..d1bfecae6c9f 100644 --- a/arch/arm/plat-s5p/irq-pm.c +++ b/arch/arm/plat-s5p/irq-pm.c | |||
@@ -39,19 +39,32 @@ unsigned long s3c_irqwake_eintallow = 0xffffffffL; | |||
39 | int s3c_irq_wake(struct irq_data *data, unsigned int state) | 39 | int s3c_irq_wake(struct irq_data *data, unsigned int state) |
40 | { | 40 | { |
41 | unsigned long irqbit; | 41 | unsigned long irqbit; |
42 | unsigned int irq_rtc_tic, irq_rtc_alarm; | ||
43 | |||
44 | #ifdef CONFIG_ARCH_EXYNOS | ||
45 | if (soc_is_exynos5250()) { | ||
46 | irq_rtc_tic = EXYNOS5_IRQ_RTC_TIC; | ||
47 | irq_rtc_alarm = EXYNOS5_IRQ_RTC_ALARM; | ||
48 | } else { | ||
49 | irq_rtc_tic = EXYNOS4_IRQ_RTC_TIC; | ||
50 | irq_rtc_alarm = EXYNOS4_IRQ_RTC_ALARM; | ||
51 | } | ||
52 | #else | ||
53 | irq_rtc_tic = IRQ_RTC_TIC; | ||
54 | irq_rtc_alarm = IRQ_RTC_ALARM; | ||
55 | #endif | ||
56 | |||
57 | if (data->irq == irq_rtc_tic || data->irq == irq_rtc_alarm) { | ||
58 | irqbit = 1 << (data->irq + 1 - irq_rtc_alarm); | ||
42 | 59 | ||
43 | switch (data->irq) { | ||
44 | case IRQ_RTC_TIC: | ||
45 | case IRQ_RTC_ALARM: | ||
46 | irqbit = 1 << (data->irq + 1 - IRQ_RTC_ALARM); | ||
47 | if (!state) | 60 | if (!state) |
48 | s3c_irqwake_intmask |= irqbit; | 61 | s3c_irqwake_intmask |= irqbit; |
49 | else | 62 | else |
50 | s3c_irqwake_intmask &= ~irqbit; | 63 | s3c_irqwake_intmask &= ~irqbit; |
51 | break; | 64 | } else { |
52 | default: | ||
53 | return -ENOENT; | 65 | return -ENOENT; |
54 | } | 66 | } |
67 | |||
55 | return 0; | 68 | return 0; |
56 | } | 69 | } |
57 | 70 | ||