[PATCH 37/42] Staging: w35und: remove spinlock wrappers

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Greg Kroah-Hartman
Date: Wednesday, October 22, 2008 - 10:29 am

From: Pekka Enberg <penberg@cs.helsinki.fi>

This patch removes the OS_SPIN_LOCK and related wrappers from the driver code.

Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/staging/winbond/linux/common.h    |    7 -----
 drivers/staging/winbond/linux/wb35reg.c   |   37 +++++++++++++---------------
 drivers/staging/winbond/linux/wb35reg_s.h |    2 +-
 drivers/staging/winbond/mlme_s.h          |    2 +-
 drivers/staging/winbond/wblinux.c         |   13 ++++-----
 drivers/staging/winbond/wblinux_s.h       |    4 +-
 6 files changed, 27 insertions(+), 38 deletions(-)

diff --git a/drivers/staging/winbond/linux/common.h b/drivers/staging/winbond/linux/common.h
index c8f14b7..712a86c 100644
--- a/drivers/staging/winbond/linux/common.h
+++ b/drivers/staging/winbond/linux/common.h
@@ -105,13 +105,6 @@ typedef struct urb * PURB;
 #define OS_MEMORY_CLEAR( _A, _S )	memset( (u8 *)_A,0,_S)
 #define OS_MEMORY_COMPARE( _A, _B, _S )	(memcmp(_A,_B,_S)? 0 : 1) // Definition is reverse with Ndis 1: the same 0: different
 
-
-#define OS_SPIN_LOCK				spinlock_t
-#define OS_SPIN_LOCK_ALLOCATE( _S )		spin_lock_init( _S );
-#define OS_SPIN_LOCK_FREE( _S )
-#define OS_SPIN_LOCK_ACQUIRED( _S )		spin_lock_irq( _S )
-#define OS_SPIN_LOCK_RELEASED( _S )		spin_unlock_irq( _S );
-
 #define OS_TIMER	struct timer_list
 #define OS_TIMER_INITIAL( _T, _F, _P )			\
 {							\
diff --git a/drivers/staging/winbond/linux/wb35reg.c b/drivers/staging/winbond/linux/wb35reg.c
index 5c28ec9..ebb6db5 100644
--- a/drivers/staging/winbond/linux/wb35reg.c
+++ b/drivers/staging/winbond/linux/wb35reg.c
@@ -46,14 +46,14 @@ Wb35Reg_BurstWrite(phw_data_t pHwData, u16 RegisterNo, u32 * pRegisterData, u8 N
 		pRegQueue->pUsbReq = dr;
 		pRegQueue->pUrb = pUrb;
 
-		OS_SPIN_LOCK_ACQUIRED( &pWb35Reg->EP0VM_spin_lock );
+		spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
 		if (pWb35Reg->pRegFirst == NULL)
 			pWb35Reg->pRegFirst = pRegQueue;
 		else
 			pWb35Reg->pRegLast->Next = pRegQueue;
 		pWb35Reg->pRegLast = pRegQueue;
 
-		OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+		spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 
 		// Start EP0VM
 		Wb35Reg_EP0VM_start(pHwData);
@@ -193,14 +193,14 @@ Wb35Reg_Write(  phw_data_t pHwData,  u16 RegisterNo,  u32 RegisterValue )
 		pRegQueue->pUsbReq = dr;
 		pRegQueue->pUrb = pUrb;
 
-		OS_SPIN_LOCK_ACQUIRED(&pWb35Reg->EP0VM_spin_lock );
+		spin_lock_irq(&pWb35Reg->EP0VM_spin_lock );
 		if (pWb35Reg->pRegFirst == NULL)
 			pWb35Reg->pRegFirst = pRegQueue;
 		else
 			pWb35Reg->pRegLast->Next = pRegQueue;
 		pWb35Reg->pRegLast = pRegQueue;
 
-		OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+		spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 
 		// Start EP0VM
 		Wb35Reg_EP0VM_start(pHwData);
@@ -254,14 +254,14 @@ Wb35Reg_WriteWithCallbackValue( phw_data_t pHwData, u16 RegisterNo, u32 Register
 		pRegQueue->Next = NULL;
 		pRegQueue->pUsbReq = dr;
 		pRegQueue->pUrb = pUrb;
-		OS_SPIN_LOCK_ACQUIRED (&pWb35Reg->EP0VM_spin_lock );
+		spin_lock_irq (&pWb35Reg->EP0VM_spin_lock );
 		if( pWb35Reg->pRegFirst == NULL )
 			pWb35Reg->pRegFirst = pRegQueue;
 		else
 			pWb35Reg->pRegLast->Next = pRegQueue;
 		pWb35Reg->pRegLast = pRegQueue;
 
-		OS_SPIN_LOCK_RELEASED ( &pWb35Reg->EP0VM_spin_lock );
+		spin_unlock_irq ( &pWb35Reg->EP0VM_spin_lock );
 
 		// Start EP0VM
 		Wb35Reg_EP0VM_start(pHwData);
@@ -359,14 +359,14 @@ Wb35Reg_Read(phw_data_t pHwData, u16 RegisterNo,  u32 * pRegisterValue )
 		pRegQueue->Next = NULL;
 		pRegQueue->pUsbReq = dr;
 		pRegQueue->pUrb = pUrb;
-		OS_SPIN_LOCK_ACQUIRED ( &pWb35Reg->EP0VM_spin_lock );
+		spin_lock_irq ( &pWb35Reg->EP0VM_spin_lock );
 		if( pWb35Reg->pRegFirst == NULL )
 			pWb35Reg->pRegFirst = pRegQueue;
 		else
 			pWb35Reg->pRegLast->Next = pRegQueue;
 		pWb35Reg->pRegLast = pRegQueue;
 
-		OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+		spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 
 		// Start EP0VM
 		Wb35Reg_EP0VM_start( pHwData );
@@ -411,9 +411,9 @@ Wb35Reg_EP0VM(phw_data_t pHwData )
 		goto cleanup;
 
 	// Get the register data and send to USB through Irp
-	OS_SPIN_LOCK_ACQUIRED( &pWb35Reg->EP0VM_spin_lock );
+	spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
 	pRegQueue = pWb35Reg->pRegFirst;
-	OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+	spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 
 	if (!pRegQueue)
 		goto cleanup;
@@ -468,12 +468,12 @@ Wb35Reg_EP0VM_complete(PURB pUrb)
 		OS_ATOMIC_DEC( pHwData->Adapter, &pWb35Reg->RegFireCount );
 	} else {
 		// Complete to send, remove the URB from the first
-		OS_SPIN_LOCK_ACQUIRED( &pWb35Reg->EP0VM_spin_lock );
+		spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
 		pRegQueue = pWb35Reg->pRegFirst;
 		if (pRegQueue == pWb35Reg->pRegLast)
 			pWb35Reg->pRegLast = NULL;
 		pWb35Reg->pRegFirst = pWb35Reg->pRegFirst->Next;
-		OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+		spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 
 		if (pWb35Reg->EP0VM_status) {
 #ifdef _PE_REG_DUMP_
@@ -513,7 +513,7 @@ Wb35Reg_destroy(phw_data_t pHwData)
 	OS_SLEEP(10000);  // Delay for waiting function enter 940623.1.b
 
 	// Release all the data in RegQueue
-	OS_SPIN_LOCK_ACQUIRED( &pWb35Reg->EP0VM_spin_lock );
+	spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
 	pRegQueue = pWb35Reg->pRegFirst;
 	while (pRegQueue) {
 		if (pRegQueue == pWb35Reg->pRegLast)
@@ -521,7 +521,7 @@ Wb35Reg_destroy(phw_data_t pHwData)
 		pWb35Reg->pRegFirst = pWb35Reg->pRegFirst->Next;
 
 		pUrb = pRegQueue->pUrb;
-		OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
+		spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 		if (pUrb) {
 			usb_free_urb(pUrb);
 			kfree(pRegQueue);
@@ -530,14 +530,11 @@ Wb35Reg_destroy(phw_data_t pHwData)
 			WBDEBUG(("EP0 queue release error\n"));
 			#endif
 		}
-		OS_SPIN_LOCK_ACQUIRED( &pWb35Reg->EP0VM_spin_lock );
+		spin_lock_irq( &pWb35Reg->EP0VM_spin_lock );
 
 		pRegQueue = pWb35Reg->pRegFirst;
 	}
-	OS_SPIN_LOCK_RELEASED( &pWb35Reg->EP0VM_spin_lock );
-
-	// Free resource
-	OS_SPIN_LOCK_FREE(  &pWb35Reg->EP0VM_spin_lock );
+	spin_unlock_irq( &pWb35Reg->EP0VM_spin_lock );
 }
 
 //====================================================================================
@@ -550,7 +547,7 @@ unsigned char Wb35Reg_initial(phw_data_t pHwData)
 	u32 SoftwareSet, VCO_trim, TxVga, Region_ScanInterval;
 
 	// Spin lock is acquired for read and write IRP command
-	OS_SPIN_LOCK_ALLOCATE( &pWb35Reg->EP0VM_spin_lock );
+	spin_lock_init( &pWb35Reg->EP0VM_spin_lock );
 
 	// Getting RF module type from EEPROM ------------------------------------
 	Wb35Reg_WriteSync( pHwData, 0x03b4, 0x080d0000 ); // Start EEPROM access + Read + address(0x0d)
diff --git a/drivers/staging/winbond/linux/wb35reg_s.h b/drivers/staging/winbond/linux/wb35reg_s.h
index 9b76301..8b35b93 100644
--- a/drivers/staging/winbond/linux/wb35reg_s.h
+++ b/drivers/staging/winbond/linux/wb35reg_s.h
@@ -143,7 +143,7 @@ typedef struct _WB35REG
 	//-------------------
 	// VM
 	//-------------------
-	OS_SPIN_LOCK	EP0VM_spin_lock; // 4B
+	spinlock_t	EP0VM_spin_lock; // 4B
 	u32	        EP0VM_status;//$$
 	PREG_QUEUE	    pRegFirst;
 	PREG_QUEUE	    pRegLast;
diff --git a/drivers/staging/winbond/mlme_s.h b/drivers/staging/winbond/mlme_s.h
index 6ec818b..039fd40 100644
--- a/drivers/staging/winbond/mlme_s.h
+++ b/drivers/staging/winbond/mlme_s.h
@@ -130,7 +130,7 @@ typedef struct _MLME_FRAME
 	u8			DataType;
 	u8			IsInUsed;
 
-	OS_SPIN_LOCK	MLMESpinLock;
+	spinlock_t	MLMESpinLock;
 
     u8		TxMMPDU[MAX_NUM_TX_MMPDU][MAX_MMPDU_SIZE];
 	u8		TxMMPDUInUse[ (MAX_NUM_TX_MMPDU+3) & ~0x03 ];
diff --git a/drivers/staging/winbond/wblinux.c b/drivers/staging/winbond/wblinux.c
index 51dad95..186ad60 100644
--- a/drivers/staging/winbond/wblinux.c
+++ b/drivers/staging/winbond/wblinux.c
@@ -26,10 +26,10 @@ EncapAtomicInc(PADAPTER Adapter, void* pAtomic)
 	PWBLINUX pWbLinux = &Adapter->WbLinux;
 	u32	ltmp;
 	u32 *	pltmp = (u32 *)pAtomic;
-	OS_SPIN_LOCK_ACQUIRED( &pWbLinux->AtomicSpinLock );
+	spin_lock_irq( &pWbLinux->AtomicSpinLock );
 	(*pltmp)++;
 	ltmp = (*pltmp);
-	OS_SPIN_LOCK_RELEASED( &pWbLinux->AtomicSpinLock );
+	spin_unlock_irq( &pWbLinux->AtomicSpinLock );
 	return ltmp;
 }
 
@@ -39,10 +39,10 @@ EncapAtomicDec(PADAPTER Adapter, void* pAtomic)
 	PWBLINUX pWbLinux = &Adapter->WbLinux;
 	u32	ltmp;
 	u32 *	pltmp = (u32 *)pAtomic;
-	OS_SPIN_LOCK_ACQUIRED( &pWbLinux->AtomicSpinLock );
+	spin_lock_irq( &pWbLinux->AtomicSpinLock );
 	(*pltmp)--;
 	ltmp = (*pltmp);
-	OS_SPIN_LOCK_RELEASED( &pWbLinux->AtomicSpinLock );
+	spin_unlock_irq( &pWbLinux->AtomicSpinLock );
 	return ltmp;
 }
 
@@ -51,8 +51,8 @@ WBLINUX_Initial(PADAPTER Adapter)
 {
 	PWBLINUX pWbLinux = &Adapter->WbLinux;
 
-	OS_SPIN_LOCK_ALLOCATE( &pWbLinux->SpinLock );
-	OS_SPIN_LOCK_ALLOCATE( &pWbLinux->AtomicSpinLock );
+	spin_lock_init( &pWbLinux->SpinLock );
+	spin_lock_init( &pWbLinux->AtomicSpinLock );
 	return TRUE;
 }
 
@@ -79,7 +79,6 @@ void
 WBLINUX_Destroy(PADAPTER Adapter)
 {
 	WBLINUX_stop( Adapter );
-	OS_SPIN_LOCK_FREE( &pWbNdis->SpinLock );
 #ifdef _PE_USB_INI_DUMP_
 	WBDEBUG(("[w35und] unregister_netdev!\n"));
 #endif
diff --git a/drivers/staging/winbond/wblinux_s.h b/drivers/staging/winbond/wblinux_s.h
index 97e9167..fd2bb43 100644
--- a/drivers/staging/winbond/wblinux_s.h
+++ b/drivers/staging/winbond/wblinux_s.h
@@ -24,8 +24,8 @@
 
 typedef struct _WBLINUX
 {
-	OS_SPIN_LOCK	AtomicSpinLock;
-	OS_SPIN_LOCK	SpinLock;
+	spinlock_t	AtomicSpinLock;
+	spinlock_t	SpinLock;
 	u32	shutdown;
 
 	OS_ATOMIC	ThreadCount;
-- 
1.6.0.2

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[GIT PATCH] more STAGING patches for 2.6.28, Greg KH, (Wed Oct 22, 10:22 am)
[PATCH 01/42] Staging: add pcc-acpi driver, Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 02/42] Staging: W35UND should depend on USB, Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 03/42] linux-next: build failure, Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 04/42] Staging: document 4k stack problem for winbo ..., Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 05/42] Staging: Fix leak in drivers/staging/at76_usb.c, Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 06/42] staging: fix potential build error in slicos ..., Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 07/42] staging: balance parenthesis in wlan-ng headers, Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 08/42] Staging: Fixes for me4000 pci data collectio ..., Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 09/42] Staging: SLICOSS: remove duplicated #include's, Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 10/42] Staging: et131x: remove duplicated #include's, Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 11/42] Staging: wlan-ng: prism2: remove duplicated ..., Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 12/42] staging: wlan-ng: prism2: remove more duplic ..., Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 13/42] Staging: go7007: remove unused #include &lt;ver ..., Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 14/42] Staging: SLICOSS: remove unused #include &lt;ve ..., Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 15/42] Staging: w35und: remove some typedefs, Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 16/42] Staging: sxg: replace __FUNCTION__ with __func__, Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 17/42] Staging: echo: A separate oslec.h for extern ..., Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 18/42] Staging: echo: Export interface functions. A ..., Greg Kroah-Hartman, (Wed Oct 22, 10:28 am)
[PATCH 19/42] Staging: echo: Replace echo_can_state_t with ..., Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 20/42] Staging: echo: Changed preffix from echo_can ..., Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 21/42] Staging: echo: Replace __BLACKFIN__ASM__ wit ..., Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 22/42] Staging: echo: fix kmalloc()/kfree() uses, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 23/42] Staging: echo: remove dead code, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 24/42] Staging: echo: remove __cplusplus macro magic, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 26/42] Staging: wlan-ng: fix build error if wireles ..., Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 27/42] Staging: add poch driver, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 28/42] Staging: remove remaining uses of __FUNCTION__, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 29/42] Staging: Clean up sxg driver, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 30/42] Staging: pcc-acpi: update to latest version, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 31/42] Staging: PCC-ACPI: Fix all checkpatch errors, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 32/42] Staging: SLICOSS: Free multicast list at dri ..., Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 33/42] Staging: Lindent the echo driver, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 34/42] Staging: sxg: clean up C99 comments, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 35/42] Staging: sxg: fix up unused function warnings, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 36/42] Staging: sxg: fix compiler warnings., Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 37/42] Staging: w35und: remove spinlock wrappers, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 38/42] Staging: w35und: use gotos for error handling, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 39/42] Staging: w35und: module init cleanup, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 40/42] Staging: wbusb: fix a bunch of compiler warnings, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 41/42] Staging: me4000: remove some compiler warnings, Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
[PATCH 42/42] Staging: usbip: fix build warning on 64bit k ..., Greg Kroah-Hartman, (Wed Oct 22, 10:29 am)
Re: [PATCH 01/42] Staging: add pcc-acpi driver, Len Brown, (Wed Oct 22, 11:37 am)
Re: [PATCH 01/42] Staging: add pcc-acpi driver, Greg KH, (Wed Oct 22, 11:48 am)
Re: [PATCH 01/42] Staging: add pcc-acpi driver, Len Brown, (Wed Oct 22, 7:49 pm)
Re: [PATCH 01/42] Staging: add pcc-acpi driver, Greg KH, (Wed Oct 22, 9:55 pm)
[GIT PATCH] delete pcc_acpi, Len Brown, (Thu Oct 23, 12:26 pm)
Re: [GIT PATCH] delete pcc_acpi, Greg KH, (Thu Oct 23, 1:22 pm)