diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-05-07 17:32:57 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-05-07 17:32:57 -0700 |
| commit | 9d21f09ca03d1142f1988001f228d02581d8986c (patch) | |
| tree | ae2d485159ac4c3cbc2e4e5269434236c2de9104 /arch/arm/mach-sa1100/irq.c | |
| parent | f5b40e363ad6041a96e3da32281d8faa191597b9 (diff) | |
| parent | 74fae122eb9f0db8b8718b9851c31c2f374fb134 (diff) | |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 3507/1: Replace map_desc.physical with map_desc.pfn: aaed2000
[ARM] 3506/1: aaec2000: debug-macro.S needs hardware.h
[ARM] 3505/1: aaec2000: entry-macro.S needs asm/arch/irqs.h
[ARM] 3504/1: Fix clcd includes for aaec2000
[ARM] 3503/1: Fix map_desc structure for aaec2000
[ARM] 3501/1: i.MX: fix lowlevel debug macros
[ARM] rtc-sa1100: fix compiler warnings and error cleanup
[ARM] Allow SA1100 RTC alarm to be configured for wakeup
Diffstat (limited to 'arch/arm/mach-sa1100/irq.c')
| -rw-r--r-- | arch/arm/mach-sa1100/irq.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-sa1100/irq.c b/arch/arm/mach-sa1100/irq.c index c131a5201b5b..b3a56024182e 100644 --- a/arch/arm/mach-sa1100/irq.c +++ b/arch/arm/mach-sa1100/irq.c @@ -199,10 +199,26 @@ static void sa1100_unmask_irq(unsigned int irq) ICMR |= (1 << irq); } +/* + * Apart form GPIOs, only the RTC alarm can be a wakeup event. + */ +static int sa1100_set_wake(unsigned int irq, unsigned int on) +{ + if (irq == IRQ_RTCAlrm) { + if (on) + PWER |= PWER_RTC; + else + PWER &= ~PWER_RTC; + return 0; + } + return -EINVAL; +} + static struct irqchip sa1100_normal_chip = { .ack = sa1100_mask_irq, .mask = sa1100_mask_irq, .unmask = sa1100_unmask_irq, + .set_wake = sa1100_set_wake, }; static struct resource irq_resource = { |
