diff options
author | David chosrova <david.chosrova@libertysurf.fr> | 2006-03-20 22:00:04 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-03-20 22:00:04 -0500 |
commit | 034888262eb8de1a91bc471d4e6d8173f6b3dbda (patch) | |
tree | 860de113ef7a983cdb6bb8ff3afc489971f32d3b /drivers/net | |
parent | 0ed79c9b7dea5cd9a55589a495cf96f00cd037d9 (diff) |
[IRDA]: sti/cli removal from EP7211 IrDA driver
This patch replaces the deprecated sti/cli routines with the corresponding
spin_lock ones.
Signed-off-by: David chosrova <david.chosrova@libertysurf.fr>
Signed-off-by: Samuel Ortiz <samuel.ortiz@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/irda/ep7211_ir.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/irda/ep7211_ir.c b/drivers/net/irda/ep7211_ir.c index 31896262d21c..4cba38f7e4a8 100644 --- a/drivers/net/irda/ep7211_ir.c +++ b/drivers/net/irda/ep7211_ir.c | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/delay.h> | 8 | #include <linux/delay.h> |
9 | #include <linux/tty.h> | 9 | #include <linux/tty.h> |
10 | #include <linux/init.h> | 10 | #include <linux/init.h> |
11 | #include <linux/spinlock.h> | ||
11 | 12 | ||
12 | #include <net/irda/irda.h> | 13 | #include <net/irda/irda.h> |
13 | #include <net/irda/irda_device.h> | 14 | #include <net/irda/irda_device.h> |
@@ -23,6 +24,8 @@ static void ep7211_ir_close(dongle_t *self); | |||
23 | static int ep7211_ir_change_speed(struct irda_task *task); | 24 | static int ep7211_ir_change_speed(struct irda_task *task); |
24 | static int ep7211_ir_reset(struct irda_task *task); | 25 | static int ep7211_ir_reset(struct irda_task *task); |
25 | 26 | ||
27 | static DEFINE_SPINLOCK(ep7211_lock); | ||
28 | |||
26 | static struct dongle_reg dongle = { | 29 | static struct dongle_reg dongle = { |
27 | .type = IRDA_EP7211_IR, | 30 | .type = IRDA_EP7211_IR, |
28 | .open = ep7211_ir_open, | 31 | .open = ep7211_ir_open, |
@@ -36,7 +39,7 @@ static void ep7211_ir_open(dongle_t *self, struct qos_info *qos) | |||
36 | { | 39 | { |
37 | unsigned int syscon1, flags; | 40 | unsigned int syscon1, flags; |
38 | 41 | ||
39 | save_flags(flags); cli(); | 42 | spin_lock_irqsave(&ep7211_lock, flags); |
40 | 43 | ||
41 | /* Turn on the SIR encoder. */ | 44 | /* Turn on the SIR encoder. */ |
42 | syscon1 = clps_readl(SYSCON1); | 45 | syscon1 = clps_readl(SYSCON1); |
@@ -46,14 +49,14 @@ static void ep7211_ir_open(dongle_t *self, struct qos_info *qos) | |||
46 | /* XXX: We should disable modem status interrupts on the first | 49 | /* XXX: We should disable modem status interrupts on the first |
47 | UART (interrupt #14). */ | 50 | UART (interrupt #14). */ |
48 | 51 | ||
49 | restore_flags(flags); | 52 | spin_unlock_irqrestore(&ep7211_lock, flags); |
50 | } | 53 | } |
51 | 54 | ||
52 | static void ep7211_ir_close(dongle_t *self) | 55 | static void ep7211_ir_close(dongle_t *self) |
53 | { | 56 | { |
54 | unsigned int syscon1, flags; | 57 | unsigned int syscon1, flags; |
55 | 58 | ||
56 | save_flags(flags); cli(); | 59 | spin_lock_irqsave(&ep7211_lock, flags); |
57 | 60 | ||
58 | /* Turn off the SIR encoder. */ | 61 | /* Turn off the SIR encoder. */ |
59 | syscon1 = clps_readl(SYSCON1); | 62 | syscon1 = clps_readl(SYSCON1); |
@@ -63,7 +66,7 @@ static void ep7211_ir_close(dongle_t *self) | |||
63 | /* XXX: If we've disabled the modem status interrupts, we should | 66 | /* XXX: If we've disabled the modem status interrupts, we should |
64 | reset them back to their original state. */ | 67 | reset them back to their original state. */ |
65 | 68 | ||
66 | restore_flags(flags); | 69 | spin_unlock_irqrestore(&ep7211_lock, flags); |
67 | } | 70 | } |
68 | 71 | ||
69 | /* | 72 | /* |