[PATCH 5/6] w35und: merge wblinux struct to adapter

From: Pekka J Enberg
Date: Wed Oct 22 2008 - 04:05:22 EST


From: Pekka Enberg <penberg@xxxxxxxxxxxxxx>

Zaps another compatability layer from the driver code.

Cc: Pavel Machek <pavel@xxxxxxx>
Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
---
drivers/staging/winbond/adapter.h | 60 ++++++++++++++++++++++++-------
drivers/staging/winbond/linux/sysdef.h | 1 -
drivers/staging/winbond/linux/wbusb.c | 5 ---
drivers/staging/winbond/wblinux.c | 37 ++++++++------------
drivers/staging/winbond/wblinux_s.h | 45 ------------------------
5 files changed, 61 insertions(+), 87 deletions(-)

diff --git a/drivers/staging/winbond/adapter.h b/drivers/staging/winbond/adapter.h
index 8925dad..fc4205d 100644
--- a/drivers/staging/winbond/adapter.h
+++ b/drivers/staging/winbond/adapter.h
@@ -1,23 +1,55 @@
-//
-// ADAPTER.H -
-// Windows NDIS global variable 'adapter' typedef
-//
+#define OS_MEMORY_ALLOC( _V, _S ) WBLINUX_MemoryAlloc( _V, _S )
+#define OS_LINK_STATUS (adapter->LinkStatus == OS_CONNECTED)
+#define OS_SET_SHUTDOWN( _A ) _A->shutdown=1
+#define OS_SET_RESUME( _A ) _A->shutdown=0
+#define OS_CONNECT_STATUS_INDICATE( _A, _F ) WBLINUX_ConnectStatus( _A, _F )
+#define OS_DISCONNECTED 0
+#define OS_CONNECTED 1
+#define OS_STOP( _A ) WBLINUX_stop( _A )
+
+#define OS_CURRENT_RX_BYTE( _A ) _A->RxByteCount
+#define OS_CURRENT_TX_BYTE( _A ) _A->TxByteCount
+#define OS_EVENT_INDICATE( _A, _B, _F )
+#define OS_PMKID_STATUS_EVENT( _A )
+#define OS_RECEIVE_PACKET_INDICATE( _A, _D ) WBLinux_ReceivePacket( _A, _D )
+#define OS_RECEIVE_802_1X_PACKET_INDICATE( _A, _D ) EAP_ReceivePacket( _A, _D )
+#define OS_GET_PACKET( _A, _D ) WBLINUX_GetNextPacket( _A, _D )
+#define OS_GET_PACKET_COMPLETE( _A, _D ) WBLINUX_GetNextPacketCompleted( _A, _D )
+#define OS_SEND_RESULT( _A, _ID, _R )
+
+#define WBLINUX_PACKET_ARRAY_SIZE (ETHERNET_TX_DESCRIPTORS*4)
+
#define MAX_ANSI_STRING 40

struct wb35_adapter {
- u32 adapterIndex; // 20060703.4 Add for using padapterContext global adapter point
+ u32 adapterIndex; // 20060703.4 Add for using padapterContext global adapter point
+
+ WB_LOCALDESCRIPT sLocalPara; // Myself connected parameters
+ PWB_BSSDESCRIPTION asBSSDescriptElement;
+
+ MLME_FRAME sMlmeFrame; // connect to peerSTA parameters
+
+ MTO_PARAMETERS sMtoPara; // MTO_struct ...
+ hw_data_t sHwData; //For HAL
+ MDS Mds;
+
+ spinlock_t AtomicSpinLock;
+ spinlock_t SpinLock;
+ u32 shutdown;

- WB_LOCALDESCRIPT sLocalPara; // Myself connected parameters
- PWB_BSSDESCRIPTION asBSSDescriptElement;
+ OS_ATOMIC ThreadCount;

- MLME_FRAME sMlmeFrame; // connect to peerSTA parameters
+ u32 LinkStatus; // OS_DISCONNECTED or OS_CONNECTED

- MTO_PARAMETERS sMtoPara; // MTO_struct ...
- hw_data_t sHwData; //For HAL
- MDS Mds;
+ u32 RxByteCount;
+ u32 TxByteCount;

- WBLINUX WbLinux;
- struct iw_statistics iw_stats;
+ struct sk_buff *skb_array[WBLINUX_PACKET_ARRAY_SIZE];
+ struct sk_buff *packet_return;
+ s32 skb_SetIndex;
+ s32 skb_GetIndex;
+ s32 netif_state_stop; // 1: stop 0: normal
+ struct iw_statistics iw_stats;

- u8 LinkName[MAX_ANSI_STRING];
+ u8 LinkName[MAX_ANSI_STRING];
};
diff --git a/drivers/staging/winbond/linux/sysdef.h b/drivers/staging/winbond/linux/sysdef.h
index d46d63e..4b35a97 100644
--- a/drivers/staging/winbond/linux/sysdef.h
+++ b/drivers/staging/winbond/linux/sysdef.h
@@ -53,7 +53,6 @@
#include "../sme_api.h"
#include "../gl_80211.h"
#include "../mto.h"
-#include "../wblinux_s.h"
#include "../wbhal_s.h"


diff --git a/drivers/staging/winbond/linux/wbusb.c b/drivers/staging/winbond/linux/wbusb.c
index 245021d..9f1064d 100644
--- a/drivers/staging/winbond/linux/wbusb.c
+++ b/drivers/staging/winbond/linux/wbusb.c
@@ -178,7 +178,6 @@ struct wbsoft_priv {
int wb35_probe(struct usb_interface *intf, const struct usb_device_id *id_table)
{
struct wb35_adapter *adapter;
- PWBLINUX pWbLinux;
PWBUSB pWbUsb;
struct usb_host_interface *interface;
struct usb_endpoint_descriptor *endpoint;
@@ -204,7 +203,6 @@ int wb35_probe(struct usb_interface *intf, const struct usb_device_id *id_table)
adapter = kzalloc(sizeof(*adapter), GFP_KERNEL);

my_adapter = adapter;
- pWbLinux = &adapter->WbLinux;
pWbUsb = &adapter->sHwData.WbUsb;
pWbUsb->udev = udev;

@@ -344,12 +342,9 @@ int wb35_close(struct net_device *netdev)

void wb35_disconnect(struct usb_interface *intf)
{
- PWBLINUX pWbLinux;
struct wb35_adapter * adapter = usb_get_intfdata(intf);
usb_set_intfdata(intf, NULL);

- pWbLinux = &adapter->WbLinux;
-
// Card remove
WbWlanHalt(adapter);

diff --git a/drivers/staging/winbond/wblinux.c b/drivers/staging/winbond/wblinux.c
index 4e6f8cf..1668e54 100644
--- a/drivers/staging/winbond/wblinux.c
+++ b/drivers/staging/winbond/wblinux.c
@@ -23,36 +23,32 @@ WBLINUX_MemoryAlloc(void* *VirtualAddress, u32 Length)
s32
EncapAtomicInc(struct wb35_adapter * adapter, void* pAtomic)
{
- PWBLINUX pWbLinux = &adapter->WbLinux;
u32 ltmp;
u32 * pltmp = (u32 *)pAtomic;
- spin_lock_irq( &pWbLinux->AtomicSpinLock );
+ spin_lock_irq( &adapter->AtomicSpinLock );
(*pltmp)++;
ltmp = (*pltmp);
- spin_unlock_irq( &pWbLinux->AtomicSpinLock );
+ spin_unlock_irq( &adapter->AtomicSpinLock );
return ltmp;
}

s32
EncapAtomicDec(struct wb35_adapter * adapter, void* pAtomic)
{
- PWBLINUX pWbLinux = &adapter->WbLinux;
u32 ltmp;
u32 * pltmp = (u32 *)pAtomic;
- spin_lock_irq( &pWbLinux->AtomicSpinLock );
+ spin_lock_irq( &adapter->AtomicSpinLock );
(*pltmp)--;
ltmp = (*pltmp);
- spin_unlock_irq( &pWbLinux->AtomicSpinLock );
+ spin_unlock_irq( &adapter->AtomicSpinLock );
return ltmp;
}

unsigned char
WBLINUX_Initial(struct wb35_adapter * adapter)
{
- PWBLINUX pWbLinux = &adapter->WbLinux;
-
- spin_lock_init( &pWbLinux->SpinLock );
- spin_lock_init( &pWbLinux->AtomicSpinLock );
+ spin_lock_init( &adapter->SpinLock );
+ spin_lock_init( &adapter->AtomicSpinLock );
return TRUE;
}

@@ -87,24 +83,23 @@ WBLINUX_Destroy(struct wb35_adapter * adapter)
void
WBLINUX_stop( struct wb35_adapter * adapter )
{
- PWBLINUX pWbLinux = &adapter->WbLinux;
struct sk_buff *pSkb;

- if (OS_ATOMIC_INC( adapter, &pWbLinux->ThreadCount ) == 1) {
+ if (OS_ATOMIC_INC( adapter, &adapter->ThreadCount ) == 1) {
// Shutdown module immediately
- pWbLinux->shutdown = 1;
+ adapter->shutdown = 1;

- while (pWbLinux->skb_array[ pWbLinux->skb_GetIndex ]) {
+ while (adapter->skb_array[ adapter->skb_GetIndex ]) {
// Trying to free the un-sending packet
- pSkb = pWbLinux->skb_array[ pWbLinux->skb_GetIndex ];
- pWbLinux->skb_array[ pWbLinux->skb_GetIndex ] = NULL;
+ pSkb = adapter->skb_array[ adapter->skb_GetIndex ];
+ adapter->skb_array[ adapter->skb_GetIndex ] = NULL;
if( in_irq() )
dev_kfree_skb_irq( pSkb );
else
dev_kfree_skb( pSkb );

- pWbLinux->skb_GetIndex++;
- pWbLinux->skb_GetIndex %= WBLINUX_PACKET_ARRAY_SIZE;
+ adapter->skb_GetIndex++;
+ adapter->skb_GetIndex %= WBLINUX_PACKET_ARRAY_SIZE;
}

#ifdef _PE_STATE_DUMP_
@@ -112,7 +107,7 @@ WBLINUX_stop( struct wb35_adapter * adapter )
#endif
}

- OS_ATOMIC_DEC( adapter, &pWbLinux->ThreadCount );
+ OS_ATOMIC_DEC( adapter, &adapter->ThreadCount );
}

void
@@ -268,8 +263,6 @@ error:

void WBLINUX_ConnectStatus(struct wb35_adapter * adapter, u32 flag)
{
- PWBLINUX pWbLinux = &adapter->WbLinux;
-
- pWbLinux->LinkStatus = flag; // OS_DISCONNECTED or OS_CONNECTED
+ adapter->LinkStatus = flag; // OS_DISCONNECTED or OS_CONNECTED
}

diff --git a/drivers/staging/winbond/wblinux_s.h b/drivers/staging/winbond/wblinux_s.h
index 619843f..e69de29 100644
--- a/drivers/staging/winbond/wblinux_s.h
+++ b/drivers/staging/winbond/wblinux_s.h
@@ -1,45 +0,0 @@
-//============================================================
-// wblinux_s.h
-//
-#define OS_MEMORY_ALLOC( _V, _S ) WBLINUX_MemoryAlloc( _V, _S )
-#define OS_LINK_STATUS (adapter->WbLinux.LinkStatus == OS_CONNECTED)
-#define OS_SET_SHUTDOWN( _A ) _A->WbLinux.shutdown=1
-#define OS_SET_RESUME( _A ) _A->WbLinux.shutdown=0
-#define OS_CONNECT_STATUS_INDICATE( _A, _F ) WBLINUX_ConnectStatus( _A, _F )
-#define OS_DISCONNECTED 0
-#define OS_CONNECTED 1
-#define OS_STOP( _A ) WBLINUX_stop( _A )
-
-#define OS_CURRENT_RX_BYTE( _A ) _A->WbLinux.RxByteCount
-#define OS_CURRENT_TX_BYTE( _A ) _A->WbLinux.TxByteCount
-#define OS_EVENT_INDICATE( _A, _B, _F )
-#define OS_PMKID_STATUS_EVENT( _A )
-#define OS_RECEIVE_PACKET_INDICATE( _A, _D ) WBLinux_ReceivePacket( _A, _D )
-#define OS_RECEIVE_802_1X_PACKET_INDICATE( _A, _D ) EAP_ReceivePacket( _A, _D )
-#define OS_GET_PACKET( _A, _D ) WBLINUX_GetNextPacket( _A, _D )
-#define OS_GET_PACKET_COMPLETE( _A, _D ) WBLINUX_GetNextPacketCompleted( _A, _D )
-#define OS_SEND_RESULT( _A, _ID, _R )
-
-#define WBLINUX_PACKET_ARRAY_SIZE (ETHERNET_TX_DESCRIPTORS*4)
-
-typedef struct _WBLINUX
-{
- spinlock_t AtomicSpinLock;
- spinlock_t SpinLock;
- u32 shutdown;
-
- OS_ATOMIC ThreadCount;
-
- u32 LinkStatus; // OS_DISCONNECTED or OS_CONNECTED
-
- u32 RxByteCount;
- u32 TxByteCount;
-
- struct sk_buff *skb_array[ WBLINUX_PACKET_ARRAY_SIZE ];
- struct sk_buff *packet_return;
- s32 skb_SetIndex;
- s32 skb_GetIndex;
- s32 netif_state_stop; // 1: stop 0: normal
-} WBLINUX, *PWBLINUX;
-
-
--
1.5.3.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/