From: Greg Kroah-Hartman <gregkh@suse.de>
To: linux-kernel@vger.kernel.org
Cc: Pekka Enberg <penberg@cs.helsinki.fi>,
Greg Kroah-Hartman <gregkh@suse.de>
Subject: [PATCH 37/42] Staging: w35und: remove spinlock wrappers
Date: Wed, 22 Oct 2008 10:29:18 -0700 [thread overview]
Message-ID: <1224696563-5170-37-git-send-email-gregkh@suse.de> (raw)
In-Reply-To: <20081022172203.GA4000@kroah.com>
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
next prev parent reply other threads:[~2008-10-22 17:47 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-22 17:22 [GIT PATCH] more STAGING patches for 2.6.28 Greg KH
2008-10-22 17:28 ` [PATCH 01/42] Staging: add pcc-acpi driver Greg Kroah-Hartman
2008-10-22 18:37 ` Len Brown
2008-10-22 18:48 ` Greg KH
2008-10-23 2:49 ` Len Brown
2008-10-23 4:55 ` Greg KH
2008-10-23 19:26 ` [GIT PATCH] delete pcc_acpi Len Brown
2008-10-23 20:22 ` Greg KH
2008-10-22 17:28 ` [PATCH 02/42] Staging: W35UND should depend on USB Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 03/42] linux-next: build failure Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 04/42] Staging: document 4k stack problem for winbond driver Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 05/42] Staging: Fix leak in drivers/staging/at76_usb.c Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 06/42] staging: fix potential build error in slicoss driver Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 07/42] staging: balance parenthesis in wlan-ng headers Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 08/42] Staging: Fixes for me4000 pci data collection driver Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 09/42] Staging: SLICOSS: remove duplicated #include's Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 10/42] Staging: et131x: " Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 11/42] Staging: wlan-ng: prism2: remove duplicated #include Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 12/42] staging: wlan-ng: prism2: remove more " Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 13/42] Staging: go7007: remove unused #include <version.h> Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 14/42] Staging: SLICOSS: " Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 15/42] Staging: w35und: remove some typedefs Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 16/42] Staging: sxg: replace __FUNCTION__ with __func__ Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 17/42] Staging: echo: A separate oslec.h for external interface Greg Kroah-Hartman
2008-10-22 17:28 ` [PATCH 18/42] Staging: echo: Export interface functions. Add module headers Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 19/42] Staging: echo: Replace echo_can_state_t with struct echo_can_state Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 20/42] Staging: echo: Changed preffix from echo_can_ to oslec_ Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 21/42] Staging: echo: Replace __BLACKFIN__ASM__ with __bfin__ Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 22/42] Staging: echo: fix kmalloc()/kfree() uses Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 23/42] Staging: echo: remove dead code Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 24/42] Staging: echo: remove __cplusplus macro magic Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 25/42] Staging: echo: remove annoying "end of function" markers Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 26/42] Staging: wlan-ng: fix build error if wireless networking is not enabled Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 27/42] Staging: add poch driver Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 28/42] Staging: remove remaining uses of __FUNCTION__ Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 29/42] Staging: Clean up sxg driver Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 30/42] Staging: pcc-acpi: update to latest version Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 31/42] Staging: PCC-ACPI: Fix all checkpatch errors Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 32/42] Staging: SLICOSS: Free multicast list at driver exit Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 33/42] Staging: Lindent the echo driver Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 34/42] Staging: sxg: clean up C99 comments Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 35/42] Staging: sxg: fix up unused function warnings Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 36/42] Staging: sxg: fix compiler warnings Greg Kroah-Hartman
2008-10-22 17:29 ` Greg Kroah-Hartman [this message]
2008-10-22 17:29 ` [PATCH 38/42] Staging: w35und: use gotos for error handling Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 39/42] Staging: w35und: module init cleanup Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 40/42] Staging: wbusb: fix a bunch of compiler warnings Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 41/42] Staging: me4000: remove some " Greg Kroah-Hartman
2008-10-22 17:29 ` [PATCH 42/42] Staging: usbip: fix build warning on 64bit kernels Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1224696563-5170-37-git-send-email-gregkh@suse.de \
--to=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox