summaryrefslogtreecommitdiffstats
path: root/target/linux/omap24xx/patches-3.1/252-cbus-retu-tahvo-ack-fix.patch
blob: 34f9465969d16ab98320be575c8bfc52f84103c9 (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Index: linux-3.1.1/drivers/cbus/retu.c
===================================================================
--- linux-3.1.1.orig/drivers/cbus/retu.c	2011-11-17 18:47:59.453004678 +0100
+++ linux-3.1.1/drivers/cbus/retu.c	2011-11-17 18:49:03.180787673 +0100
@@ -54,8 +54,6 @@ struct retu {
 	int			irq;
 
 	int			ack;
-	bool			ack_pending;
-
 	int			mask;
 	bool			mask_pending;
 
@@ -238,7 +236,6 @@ static void retu_irq_ack(struct irq_data
 	int			irq = data->irq;
 
 	retu->ack |= (1 << (irq - retu->irq_base));
-	retu->ack_pending = true;
 }
 
 static void retu_bus_lock(struct irq_data *data)
@@ -257,9 +254,9 @@ static void retu_bus_sync_unlock(struct
 		retu->mask_pending = false;
 	}
 
-	if (retu->ack_pending) {
+	if (retu->ack) {
 		__retu_write_reg(retu, RETU_REG_IDR, retu->ack);
-		retu->ack_pending = false;
+		retu->ack = 0;
 	}
 
 	mutex_unlock(&retu->mutex);
Index: linux-3.1.1/drivers/cbus/tahvo.c
===================================================================
--- linux-3.1.1.orig/drivers/cbus/tahvo.c	2011-11-17 18:47:59.437004733 +0100
+++ linux-3.1.1/drivers/cbus/tahvo.c	2011-11-17 18:51:03.708374259 +0100
@@ -52,7 +52,6 @@ struct tahvo {
 	int		mask;
 
 	unsigned int	mask_pending:1;
-	unsigned int	ack_pending:1;
 	unsigned int	is_betty:1;
 };
 
@@ -177,9 +176,9 @@ static void tahvo_irq_bus_sync_unlock(st
 		tahvo->mask_pending = false;
 	}
 
-	if (tahvo->ack_pending) {
+	if (tahvo->ack) {
 		__tahvo_write_reg(tahvo, TAHVO_REG_IDR, tahvo->ack);
-		tahvo->ack_pending = false;
+		tahvo->ack = 0;
 	}
 
 	mutex_unlock(&tahvo->mutex);
@@ -209,7 +208,6 @@ static void tahvo_irq_ack(struct irq_dat
 	int			irq = data->irq;
 
 	tahvo->ack |= (1 << (irq - tahvo->irq_base));
-	tahvo->ack_pending = true;
 }
 
 static struct irq_chip tahvo_irq_chip = {