aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-sa1100/irq.c
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2006-05-24 04:22:21 -0400
committerDavid Woodhouse <dwmw2@infradead.org>2006-05-24 04:22:21 -0400
commit66643de455c27973ac31ad6de9f859d399916842 (patch)
tree7ebed7f051879007d4b11d6aaa9e65a1bcb0b08f /arch/arm/mach-sa1100/irq.c
parent2c23d62abb820e19c54012520f08a198c2233a85 (diff)
parent387e2b0439026aa738a9edca15a57e5c0bcb4dfc (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: include/asm-powerpc/unistd.h include/asm-sparc/unistd.h include/asm-sparc64/unistd.h Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'arch/arm/mach-sa1100/irq.c')
-rw-r--r--arch/arm/mach-sa1100/irq.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-sa1100/irq.c b/arch/arm/mach-sa1100/irq.c
index c131a5201b5..b3a56024182 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)
199 ICMR |= (1 << irq); 199 ICMR |= (1 << irq);
200} 200}
201 201
202/*
203 * Apart form GPIOs, only the RTC alarm can be a wakeup event.
204 */
205static int sa1100_set_wake(unsigned int irq, unsigned int on)
206{
207 if (irq == IRQ_RTCAlrm) {
208 if (on)
209 PWER |= PWER_RTC;
210 else
211 PWER &= ~PWER_RTC;
212 return 0;
213 }
214 return -EINVAL;
215}
216
202static struct irqchip sa1100_normal_chip = { 217static struct irqchip sa1100_normal_chip = {
203 .ack = sa1100_mask_irq, 218 .ack = sa1100_mask_irq,
204 .mask = sa1100_mask_irq, 219 .mask = sa1100_mask_irq,
205 .unmask = sa1100_unmask_irq, 220 .unmask = sa1100_unmask_irq,
221 .set_wake = sa1100_set_wake,
206}; 222};
207 223
208static struct resource irq_resource = { 224static struct resource irq_resource = {