aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/s3c24xx/patches-2.6.26/1202-add-ar6k-wake-interrupt.patch.patch
blob: 3dce682a20cb2cba9d4aa19d27c80241b138e9ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
From ce7b2df450b6dcd7c34cc47c1fe2b3b2d06d612f Mon Sep 17 00:00:00 2001
From: Matt <matt_hsu@openmoko.org>
Date: Fri, 25 Jul 2008 23:06:17 +0100
Subject: [PATCH] add-ar6k-wake-interrupt.patch

Signed-off-by: Matt Hsu <matt_hsu@openmoko.org>

- add an interrupt for ar6k wifi module
---
 arch/arm/mach-s3c2440/mach-gta02.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
index 686291b..7118332 100644
--- a/arch/arm/mach-s3c2440/mach-gta02.c
+++ b/arch/arm/mach-s3c2440/mach-gta02.c
@@ -1498,6 +1498,12 @@ static irqreturn_t gta02_modem_irq(int irq, void *param)
 	return IRQ_HANDLED;
 }
 
+static irqreturn_t ar6000_wow_irq(int irq, void *param)
+{
+	printk(KERN_DEBUG "ar6000_wow interrupt\n");
+	return IRQ_HANDLED;
+}
+
 static void __init gta02_machine_init(void)
 {
 	int rc;
@@ -1601,6 +1607,15 @@ static void __init gta02_machine_init(void)
 	if (rc < 0)
 		printk(KERN_ERR "GTA02: can't request GSM modem wakeup IRQ\n");
 	enable_irq_wake(GTA02_IRQ_MODEM);
+
+	/* Make sure the wifi module can wake us up*/
+	set_irq_type(GTA02_IRQ_WLAN_GPIO1, IRQT_RISING);
+	rc = request_irq(GTA02_IRQ_WLAN_GPIO1, ar6000_wow_irq, IRQF_DISABLED,
+			"ar6000", NULL);
+
+	if (rc < 0)
+		printk(KERN_ERR "GTA02: can't request ar6k wakeup IRQ\n");
+	enable_irq_wake(GTA02_IRQ_WLAN_GPIO1);
 }
 
 MACHINE_START(NEO1973_GTA02, "GTA02")
-- 
1.5.6.3