Netdev List
 help / color / mirror / Atom feed
* [PATCH 5/7] IrDA: sti/cli removal from EP7211 IrDA driver
@ 2006-02-09 21:32 Samuel Ortiz
  0 siblings, 0 replies; only message in thread
From: Samuel Ortiz @ 2006-02-09 21:32 UTC (permalink / raw)
  To: ext David S. Miller
  Cc: ext Jean Tourrilhes, netdev-u79uwXL29TY76Z2rM5mHXA,
	irda-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

This patch replaces the deprecated sti/cli routines with the corresponding
spin_lock ones.

Signed-off-by: David Chosrova <david.chosrova-TDf4sKD1mxeHlu7OokbhRg@public.gmane.org>
Signed-off-by: Samuel Ortiz <samuel.ortiz-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org>

diff --git a/drivers/net/irda/ep7211_ir.c b/drivers/net/irda/ep7211_ir.c
index 3189626..6edf988 100644
--- a/drivers/net/irda/ep7211_ir.c
+++ b/drivers/net/irda/ep7211_ir.c
@@ -8,6 +8,7 @@
 #include <linux/delay.h>
 #include <linux/tty.h>
 #include <linux/init.h>
+#include <linux/spinlock.h>

 #include <net/irda/irda.h>
 #include <net/irda/irda_device.h>
@@ -15,6 +16,7 @@
 #include <asm/io.h>
 #include <asm/hardware.h>

+
 #define MIN_DELAY 25      /* 15 us, but wait a little more to be sure */
 #define MAX_DELAY 10000   /* 1 ms */

@@ -23,6 +25,7 @@ static void ep7211_ir_close(dongle_t *se
 static int  ep7211_ir_change_speed(struct irda_task *task);
 static int  ep7211_ir_reset(struct irda_task *task);

+static spinlock_t ep7211_lock;
 static struct dongle_reg dongle = {
 	.type = IRDA_EP7211_IR,
 	.open = ep7211_ir_open,
@@ -36,7 +39,7 @@ static void ep7211_ir_open(dongle_t *sel
 {
 	unsigned int syscon1, flags;

-	save_flags(flags); cli();
+	spin_lock_irqsave(&ep7211_lock, flags);

 	/* Turn on the SIR encoder. */
 	syscon1 = clps_readl(SYSCON1);
@@ -46,14 +49,14 @@ static void ep7211_ir_open(dongle_t *sel
 	/* XXX: We should disable modem status interrupts on the first
 		UART (interrupt #14). */

-	restore_flags(flags);
+	spin_lock_irqrestore(&ep7211_lock, flags);
 }

 static void ep7211_ir_close(dongle_t *self)
 {
 	unsigned int syscon1, flags;

-	save_flags(flags); cli();
+	spin_lock_irqsave(&ep7211_lock, flags);

 	/* Turn off the SIR encoder. */
 	syscon1 = clps_readl(SYSCON1);
@@ -63,7 +66,7 @@ static void ep7211_ir_close(dongle_t *se
 	/* XXX: If we've disabled the modem status interrupts, we should
 		reset them back to their original state. */

-	restore_flags(flags);
+	spin_lock_irqrestore(&ep7211_lock, flags);
 }

 /*
@@ -99,6 +102,7 @@ static int ep7211_ir_reset(struct irda_t
  */
 static int __init ep7211_ir_init(void)
 {
+	spin_lock_init(&ep7211_lock);
 	return irda_device_register_dongle(&dongle);
 }




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2006-02-09 21:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-09 21:32 [PATCH 5/7] IrDA: sti/cli removal from EP7211 IrDA driver Samuel Ortiz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox