From 685c3f80b6d88478a6428676f9daab59faf3cd4b Mon Sep 17 00:00:00 2001
From: Stefan Richter <stefanr@s5r6.in-berlin.de>
Date: Thu, 22 Jul 2010 11:56:38 +0200
Subject: [PATCH] firewire: nosy: use flagless variants of spinlock accessors

nosy_start/stop_snoop() are always only called by the ioctl method, i.e.
with IRQs enabled.  packet_handler() and bus_reset_handler() are always
only called by the IRQ handler.  Hence neither one needs to track IRQ
flags.

To underline the call context of packet_handler() and
bus_reset_handler(), rename these functions to *_irq_handler().

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
---
 drivers/firewire/nosy.c | 30 ++++++++++++------------------
 1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/drivers/firewire/nosy.c b/drivers/firewire/nosy.c
index 637e51485a70..2357e170e930 100644
--- a/drivers/firewire/nosy.c
+++ b/drivers/firewire/nosy.c
@@ -263,21 +263,17 @@ set_phy_reg(struct pcilynx *lynx, int addr, int val)
 static void
 nosy_start_snoop(struct client *client)
 {
-	unsigned long flags;
-
-	spin_lock_irqsave(&client->lynx->client_list_lock, flags);
+	spin_lock_irq(&client->lynx->client_list_lock);
 	list_add_tail(&client->link, &client->lynx->client_list);
-	spin_unlock_irqrestore(&client->lynx->client_list_lock, flags);
+	spin_unlock_irq(&client->lynx->client_list_lock);
 }
 
 static void
 nosy_stop_snoop(struct client *client)
 {
-	unsigned long flags;
-
-	spin_lock_irqsave(&client->lynx->client_list_lock, flags);
+	spin_lock_irq(&client->lynx->client_list_lock);
 	list_del_init(&client->link);
-	spin_unlock_irqrestore(&client->lynx->client_list_lock, flags);
+	spin_unlock_irq(&client->lynx->client_list_lock);
 }
 
 static struct client *
@@ -410,9 +406,8 @@ struct link_packet {
 };
 
 static void
-packet_handler(struct pcilynx *lynx)
+packet_irq_handler(struct pcilynx *lynx)
 {
-	unsigned long flags;
 	struct client *client;
 	u32 tcode_mask;
 	size_t length;
@@ -432,31 +427,30 @@ packet_handler(struct pcilynx *lynx)
 	else
 		tcode_mask = 1 << packet->tcode;
 
-	spin_lock_irqsave(&lynx->client_list_lock, flags);
+	spin_lock(&lynx->client_list_lock);
 
 	list_for_each_entry(client, &lynx->client_list, link)
 		if (client->tcode_mask & tcode_mask)
 			packet_buffer_put(&client->buffer,
 					  lynx->rcv_buffer, length + 4);
 
-	spin_unlock_irqrestore(&lynx->client_list_lock, flags);
+	spin_unlock(&lynx->client_list_lock);
 }
 
 static void
-bus_reset_handler(struct pcilynx *lynx)
+bus_reset_irq_handler(struct pcilynx *lynx)
 {
-	unsigned long flags;
 	struct client *client;
 	struct timeval tv;
 
 	do_gettimeofday(&tv);
 
-	spin_lock_irqsave(&lynx->client_list_lock, flags);
+	spin_lock(&lynx->client_list_lock);
 
 	list_for_each_entry(client, &lynx->client_list, link)
 		packet_buffer_put(&client->buffer, &tv.tv_usec, 4);
 
-	spin_unlock_irqrestore(&lynx->client_list_lock, flags);
+	spin_unlock(&lynx->client_list_lock);
 }
 
 static irqreturn_t
@@ -478,7 +472,7 @@ irq_handler(int irq, void *device)
 		reg_write(lynx, LINK_INT_STATUS, link_int_status);
 
 		if ((link_int_status & LINK_INT_PHY_BUSRESET) > 0)
-			bus_reset_handler(lynx);
+			bus_reset_irq_handler(lynx);
 	}
 
 	/* Clear the PCI_INT_STATUS register only after clearing the
@@ -488,7 +482,7 @@ irq_handler(int irq, void *device)
 	reg_write(lynx, PCI_INT_STATUS, pci_int_status);
 
 	if ((pci_int_status & PCI_INT_DMA0_HLT) > 0) {
-		packet_handler(lynx);
+		packet_irq_handler(lynx);
 		run_pcl(lynx, lynx->rcv_start_pcl_bus, 0);
 	}
 
-- 
GitLab