lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081030191145.GC22185@elf.ucw.cz>
Date:	Thu, 30 Oct 2008 20:11:45 +0100
From:	Pavel Machek <pavel@...e.cz>
To:	Pekka Enberg <penberg@...helsinki.fi>
Cc:	greg@...ah.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] w35und: merge struct wb35_adapter to struct wbsoft_priv

On Thu 2008-10-30 16:14:38, Pekka Enberg wrote:
> This patch merges struct wb35_adapter to struct wbsoft_priv. Now we can finally
> start passing a pointer to struct ieee80211_hw around where necessary.

Acked-by: Pavel Machek <pavel@...e.cz>

> Signed-off-by: Pekka Enberg <penberg@...helsinki.fi>
> ---
>  drivers/staging/winbond/adapter.h    |   44 ---------------------
>  drivers/staging/winbond/bss_f.h      |   70 +++++++++++++++++-----------------
>  drivers/staging/winbond/core.h       |   38 +++++++++++++++++-
>  drivers/staging/winbond/mds.c        |   16 ++++----
>  drivers/staging/winbond/mds_f.h      |   36 +++++++++---------
>  drivers/staging/winbond/mlmetxrx.c   |   12 +++---
>  drivers/staging/winbond/mlmetxrx_f.h |   22 +++++-----
>  drivers/staging/winbond/mto.h        |    2 +-
>  drivers/staging/winbond/mto_f.h      |    8 ++--
>  drivers/staging/winbond/rxisr.c      |    8 ++--
>  drivers/staging/winbond/scan_s.h     |    6 +-
>  drivers/staging/winbond/wb35tx.c     |   14 +++---
>  drivers/staging/winbond/wb35tx_f.h   |   12 +++---
>  drivers/staging/winbond/wbhal.c      |   10 ++--
>  drivers/staging/winbond/wbhal_f.h    |   10 ++--
>  drivers/staging/winbond/wblinux.c    |   10 ++--
>  drivers/staging/winbond/wblinux_f.h  |   14 +++---
>  drivers/staging/winbond/wbusb.c      |   55 +++++++++++----------------
>  18 files changed, 183 insertions(+), 204 deletions(-)
>  delete mode 100644 drivers/staging/winbond/adapter.h
> 
> diff --git a/drivers/staging/winbond/adapter.h b/drivers/staging/winbond/adapter.h
> deleted file mode 100644
> index 239cc3a..0000000
> --- a/drivers/staging/winbond/adapter.h
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -#ifndef __WINBOND_ADAPTER_H
> -#define __WINBOND_ADAPTER_H
> -
> -#include <linux/wireless.h>
> -
> -#include "bssdscpt.h"
> -#include "mto.h"
> -#include "wbhal_s.h"
> -
> -#define WBLINUX_PACKET_ARRAY_SIZE (ETHERNET_TX_DESCRIPTORS*4)
> -
> -#define WB_MAX_LINK_NAME_LEN 40
> -
> -struct wb35_adapter {
> -	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 SpinLock;
> -	u32 shutdown;
> -
> -	atomic_t ThreadCount;
> -
> -	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
> -	struct iw_statistics iw_stats;
> -
> -	u8 LinkName[WB_MAX_LINK_NAME_LEN];
> -};
> -
> -#endif
> diff --git a/drivers/staging/winbond/bss_f.h b/drivers/staging/winbond/bss_f.h
> index feffe5f..a433b5a 100644
> --- a/drivers/staging/winbond/bss_f.h
> +++ b/drivers/staging/winbond/bss_f.h
> @@ -1,7 +1,7 @@
>  #ifndef __WINBOND_BSS_F_H
>  #define __WINBOND_BSS_F_H
>  
> -#include "adapter.h"
> +#include "core.h"
>  
>  struct PMKID_Information_Element;
>  
> @@ -9,54 +9,54 @@ struct PMKID_Information_Element;
>  // BSS descriptor DataBase management global function
>  //
>  
> -void vBSSdescriptionInit(struct wb35_adapter * adapter);
> -void vBSSfoundList(struct wb35_adapter * adapter);
> -u8 boChanFilter(struct wb35_adapter * adapter, u8 ChanNo);
> -u16 wBSSallocateEntry(struct wb35_adapter * adapter);
> -u16 wBSSGetEntry(struct wb35_adapter * adapter);
> -void vSimpleHouseKeeping(struct wb35_adapter * adapter);
> -u16 wBSShouseKeeping(struct wb35_adapter * adapter);
> -void ClearBSSdescpt(struct wb35_adapter * adapter, u16 i);
> -u16 wBSSfindBssID(struct wb35_adapter * adapter, u8 *pbBssid);
> -u16 wBSSfindDedicateCandidate(struct wb35_adapter * adapter, struct SSID_Element *psSsid, u8 *pbBssid);
> -u16 wBSSfindMACaddr(struct wb35_adapter * adapter, u8 *pbMacAddr);
> -u16 wBSSsearchMACaddr(struct wb35_adapter * adapter, u8 *pbMacAddr, u8 band);
> -u16 wBSSaddScanData(struct wb35_adapter *, u16, psRXDATA);
> -u16 wBSSUpdateScanData(struct wb35_adapter * adapter, u16 wBssIdx, psRXDATA psRcvData);
> -u16 wBSScreateIBSSdata(struct wb35_adapter * adapter, PWB_BSSDESCRIPTION psDesData);
> -void DesiredRate2BSSdescriptor(struct wb35_adapter * adapter, PWB_BSSDESCRIPTION psDesData,
> +void vBSSdescriptionInit(struct wbsoft_priv * adapter);
> +void vBSSfoundList(struct wbsoft_priv * adapter);
> +u8 boChanFilter(struct wbsoft_priv * adapter, u8 ChanNo);
> +u16 wBSSallocateEntry(struct wbsoft_priv * adapter);
> +u16 wBSSGetEntry(struct wbsoft_priv * adapter);
> +void vSimpleHouseKeeping(struct wbsoft_priv * adapter);
> +u16 wBSShouseKeeping(struct wbsoft_priv * adapter);
> +void ClearBSSdescpt(struct wbsoft_priv * adapter, u16 i);
> +u16 wBSSfindBssID(struct wbsoft_priv * adapter, u8 *pbBssid);
> +u16 wBSSfindDedicateCandidate(struct wbsoft_priv * adapter, struct SSID_Element *psSsid, u8 *pbBssid);
> +u16 wBSSfindMACaddr(struct wbsoft_priv * adapter, u8 *pbMacAddr);
> +u16 wBSSsearchMACaddr(struct wbsoft_priv * adapter, u8 *pbMacAddr, u8 band);
> +u16 wBSSaddScanData(struct wbsoft_priv *, u16, psRXDATA);
> +u16 wBSSUpdateScanData(struct wbsoft_priv * adapter, u16 wBssIdx, psRXDATA psRcvData);
> +u16 wBSScreateIBSSdata(struct wbsoft_priv * adapter, PWB_BSSDESCRIPTION psDesData);
> +void DesiredRate2BSSdescriptor(struct wbsoft_priv * adapter, PWB_BSSDESCRIPTION psDesData,
>  							 u8 *pBasicRateSet, u8 BasicRateCount,
>  							 u8 *pOperationRateSet, u8 OperationRateCount);
> -void DesiredRate2InfoElement(struct wb35_adapter * adapter, u8	*addr, u16 *iFildOffset,
> +void DesiredRate2InfoElement(struct wbsoft_priv * adapter, u8	*addr, u16 *iFildOffset,
>  							 u8 *pBasicRateSet, u8 BasicRateCount,
>  							 u8 *pOperationRateSet, u8 OperationRateCount);
> -void BSSAddIBSSdata(struct wb35_adapter * adapter, PWB_BSSDESCRIPTION psDesData);
> +void BSSAddIBSSdata(struct wbsoft_priv * adapter, PWB_BSSDESCRIPTION psDesData);
>  unsigned char boCmpMacAddr( u8 *, u8 *);
>  unsigned char boCmpSSID(struct SSID_Element *psSSID1, struct SSID_Element *psSSID2);
> -u16 wBSSfindSSID(struct wb35_adapter * adapter, struct SSID_Element *psSsid);
> -u16 wRoamingQuery(struct wb35_adapter * adapter);
> -void vRateToBitmap(struct wb35_adapter * adapter, u16 index);
> -u8 bRateToBitmapIndex(struct wb35_adapter * adapter, u8 bRate);
> +u16 wBSSfindSSID(struct wbsoft_priv * adapter, struct SSID_Element *psSsid);
> +u16 wRoamingQuery(struct wbsoft_priv * adapter);
> +void vRateToBitmap(struct wbsoft_priv * adapter, u16 index);
> +u8 bRateToBitmapIndex(struct wbsoft_priv * adapter, u8 bRate);
>  u8 bBitmapToRate(u8 i);
> -unsigned char boIsERPsta(struct wb35_adapter * adapter, u16 i);
> -unsigned char boCheckConnect(struct wb35_adapter * adapter);
> -unsigned char boCheckSignal(struct wb35_adapter * adapter);
> -void AddIBSSIe(struct wb35_adapter * adapter,PWB_BSSDESCRIPTION psDesData );//added by ws for WPA_None06/01/04
> -void BssScanUpToDate(struct wb35_adapter * adapter);
> -void BssUpToDate(struct wb35_adapter * adapter);
> +unsigned char boIsERPsta(struct wbsoft_priv * adapter, u16 i);
> +unsigned char boCheckConnect(struct wbsoft_priv * adapter);
> +unsigned char boCheckSignal(struct wbsoft_priv * adapter);
> +void AddIBSSIe(struct wbsoft_priv * adapter,PWB_BSSDESCRIPTION psDesData );//added by ws for WPA_None06/01/04
> +void BssScanUpToDate(struct wbsoft_priv * adapter);
> +void BssUpToDate(struct wbsoft_priv * adapter);
>  void RateSort(u8 *RateArray, u8 num, u8 mode);
> -void RateReSortForSRate(struct wb35_adapter * adapter, u8 *RateArray, u8 num);
> -void Assemble_IE(struct wb35_adapter * adapter, u16 wBssIdx);
> -void SetMaxTxRate(struct wb35_adapter * adapter);
> +void RateReSortForSRate(struct wbsoft_priv * adapter, u8 *RateArray, u8 num);
> +void Assemble_IE(struct wbsoft_priv * adapter, u16 wBssIdx);
> +void SetMaxTxRate(struct wbsoft_priv * adapter);
>  
> -void CreateWpaIE(struct wb35_adapter * adapter, u16* iFildOffset, u8 *msg, struct  Management_Frame* msgHeader,
> +void CreateWpaIE(struct wbsoft_priv * adapter, u16* iFildOffset, u8 *msg, struct  Management_Frame* msgHeader,
>  				 struct Association_Request_Frame_Body* msgBody, u16 iMSindex); //added by WS 05/14/05
>  
>  #ifdef _WPA2_
> -void CreateRsnIE(struct wb35_adapter * adapter, u16* iFildOffset, u8 *msg, struct  Management_Frame* msgHeader,
> +void CreateRsnIE(struct wbsoft_priv * adapter, u16* iFildOffset, u8 *msg, struct  Management_Frame* msgHeader,
>  				 struct Association_Request_Frame_Body* msgBody, u16 iMSindex);//added by WS 05/14/05
>  
> -u16 SearchPmkid(struct wb35_adapter * adapter, struct  Management_Frame* msgHeader,
> +u16 SearchPmkid(struct wbsoft_priv * adapter, struct  Management_Frame* msgHeader,
>  				   struct PMKID_Information_Element * AssoReq_PMKID );
>  #endif
>  
> diff --git a/drivers/staging/winbond/core.h b/drivers/staging/winbond/core.h
> index 62ad954..64b73bb 100644
> --- a/drivers/staging/winbond/core.h
> +++ b/drivers/staging/winbond/core.h
> @@ -1,10 +1,44 @@
>  #ifndef __WINBOND_CORE_H
>  #define __WINBOND_CORE_H
>  
> -#include "adapter.h"
> +#include <linux/wireless.h>
> +
> +#include "bssdscpt.h"
> +#include "mto.h"
> +#include "wbhal_s.h"
> +
> +#define WBLINUX_PACKET_ARRAY_SIZE (ETHERNET_TX_DESCRIPTORS*4)
> +
> +#define WB_MAX_LINK_NAME_LEN 40
>  
>  struct wbsoft_priv {
> -	struct wb35_adapter *adapter;
> +	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 SpinLock;
> +	u32 shutdown;
> +
> +	atomic_t ThreadCount;
> +
> +	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
> +	struct iw_statistics iw_stats;
> +
> +	u8 LinkName[WB_MAX_LINK_NAME_LEN];
>  };
>  
>  #endif /* __WINBOND_CORE_H */
> diff --git a/drivers/staging/winbond/mds.c b/drivers/staging/winbond/mds.c
> index af4fdf1..a4e7300 100644
> --- a/drivers/staging/winbond/mds.c
> +++ b/drivers/staging/winbond/mds.c
> @@ -8,7 +8,7 @@
>  #include "wblinux_f.h"
>  
>  void
> -Mds_reset_descriptor(struct wb35_adapter * adapter)
> +Mds_reset_descriptor(struct wbsoft_priv * adapter)
>  {
>  	PMDS pMds = &adapter->Mds;
>  
> @@ -21,7 +21,7 @@ Mds_reset_descriptor(struct wb35_adapter * adapter)
>  }
>  
>  unsigned char
> -Mds_initial(struct wb35_adapter * adapter)
> +Mds_initial(struct wbsoft_priv * adapter)
>  {
>  	PMDS pMds = &adapter->Mds;
>  
> @@ -35,13 +35,13 @@ Mds_initial(struct wb35_adapter * adapter)
>  }
>  
>  void
> -Mds_Destroy(struct wb35_adapter * adapter)
> +Mds_Destroy(struct wbsoft_priv * adapter)
>  {
>  	vRxTimerStop(adapter);
>  }
>  
>  void
> -Mds_Tx(struct wb35_adapter * adapter)
> +Mds_Tx(struct wbsoft_priv * adapter)
>  {
>  	phw_data_t	pHwData = &adapter->sHwData;
>  	PMDS		pMds = &adapter->Mds;
> @@ -183,7 +183,7 @@ Mds_Tx(struct wb35_adapter * adapter)
>  }
>  
>  void
> -Mds_SendComplete(struct wb35_adapter * adapter, PT02_DESCRIPTOR pT02)
> +Mds_SendComplete(struct wbsoft_priv * adapter, PT02_DESCRIPTOR pT02)
>  {
>  	PMDS	pMds = &adapter->Mds;
>  	phw_data_t	pHwData = &adapter->sHwData;
> @@ -236,7 +236,7 @@ Mds_SendComplete(struct wb35_adapter * adapter, PT02_DESCRIPTOR pT02)
>  }
>  
>  void
> -Mds_HeaderCopy(struct wb35_adapter * adapter, PDESCRIPTOR pDes, u8 *TargetBuffer)
> +Mds_HeaderCopy(struct wbsoft_priv * adapter, PDESCRIPTOR pDes, u8 *TargetBuffer)
>  {
>  	PMDS	pMds = &adapter->Mds;
>  	u8	*src_buffer = pDes->buffer_address[0];//931130.5.g
> @@ -333,7 +333,7 @@ Mds_HeaderCopy(struct wb35_adapter * adapter, PDESCRIPTOR pDes, u8 *TargetBuffer
>  
>  // The function return the 4n size of usb pk
>  u16
> -Mds_BodyCopy(struct wb35_adapter * adapter, PDESCRIPTOR pDes, u8 *TargetBuffer)
> +Mds_BodyCopy(struct wbsoft_priv * adapter, PDESCRIPTOR pDes, u8 *TargetBuffer)
>  {
>  	PT00_DESCRIPTOR	pT00;
>  	PMDS	pMds = &adapter->Mds;
> @@ -436,7 +436,7 @@ Mds_BodyCopy(struct wb35_adapter * adapter, PDESCRIPTOR pDes, u8 *TargetBuffer)
>  
>  
>  void
> -Mds_DurationSet(  struct wb35_adapter * adapter,  PDESCRIPTOR pDes,  u8 *buffer )
> +Mds_DurationSet(  struct wbsoft_priv * adapter,  PDESCRIPTOR pDes,  u8 *buffer )
>  {
>  	PT00_DESCRIPTOR	pT00;
>  	PT01_DESCRIPTOR	pT01;
> diff --git a/drivers/staging/winbond/mds_f.h b/drivers/staging/winbond/mds_f.h
> index 2e0f7a8..a3724ac 100644
> --- a/drivers/staging/winbond/mds_f.h
> +++ b/drivers/staging/winbond/mds_f.h
> @@ -2,31 +2,31 @@
>  #define __WINBOND_MDS_F_H
>  
>  #include "wbhal_s.h"
> -#include "adapter.h"
> +#include "core.h"
>  
> -unsigned char Mds_initial(  struct wb35_adapter *adapter );
> -void Mds_Destroy(  struct wb35_adapter *adapter );
> -void Mds_Tx(  struct wb35_adapter *adapter );
> -void Mds_HeaderCopy(  struct wb35_adapter *adapter,  PDESCRIPTOR pDes,  u8 *TargetBuffer );
> -u16 Mds_BodyCopy(  struct wb35_adapter *adapter,  PDESCRIPTOR pDes,  u8 *TargetBuffer );
> -void Mds_DurationSet(  struct wb35_adapter *adapter,  PDESCRIPTOR pDes,  u8 *TargetBuffer );
> -void Mds_SendComplete(  struct wb35_adapter *adapter,  PT02_DESCRIPTOR pT02 );
> -void Mds_MpduProcess(  struct wb35_adapter *adapter,  PDESCRIPTOR pRxDes );
> -void Mds_reset_descriptor(  struct wb35_adapter *adapter );
> +unsigned char Mds_initial(  struct wbsoft_priv *adapter );
> +void Mds_Destroy(  struct wbsoft_priv *adapter );
> +void Mds_Tx(  struct wbsoft_priv *adapter );
> +void Mds_HeaderCopy(  struct wbsoft_priv *adapter,  PDESCRIPTOR pDes,  u8 *TargetBuffer );
> +u16 Mds_BodyCopy(  struct wbsoft_priv *adapter,  PDESCRIPTOR pDes,  u8 *TargetBuffer );
> +void Mds_DurationSet(  struct wbsoft_priv *adapter,  PDESCRIPTOR pDes,  u8 *TargetBuffer );
> +void Mds_SendComplete(  struct wbsoft_priv *adapter,  PT02_DESCRIPTOR pT02 );
> +void Mds_MpduProcess(  struct wbsoft_priv *adapter,  PDESCRIPTOR pRxDes );
> +void Mds_reset_descriptor(  struct wbsoft_priv *adapter );
>  extern void DataDmp(u8 *pdata, u32 len, u32 offset);
>  
>  
> -void vRxTimerInit(struct wb35_adapter *adapter);
> -void vRxTimerStart(struct wb35_adapter *adapter, int timeout_value);
> -void vRxTimerStop(struct wb35_adapter *adapter);
> +void vRxTimerInit(struct wbsoft_priv *adapter);
> +void vRxTimerStart(struct wbsoft_priv *adapter, int timeout_value);
> +void vRxTimerStop(struct wbsoft_priv *adapter);
>  
>  // For Asynchronous indicating. The routine collocates with USB.
> -void Mds_MsduProcess(  struct wb35_adapter *adapter,  PRXLAYER1 pRxLayer1,  u8 SlotIndex);
> +void Mds_MsduProcess(  struct wbsoft_priv *adapter,  PRXLAYER1 pRxLayer1,  u8 SlotIndex);
>  
>  // For data frame sending 20060802
> -u16 MDS_GetPacketSize(  struct wb35_adapter *adapter );
> -void MDS_GetNextPacket(  struct wb35_adapter *adapter,  PDESCRIPTOR pDes );
> -void MDS_GetNextPacketComplete(  struct wb35_adapter *adapter,  PDESCRIPTOR pDes );
> -void MDS_SendResult(  struct wb35_adapter *adapter,  u8 PacketId,  unsigned char SendOK );
> +u16 MDS_GetPacketSize(  struct wbsoft_priv *adapter );
> +void MDS_GetNextPacket(  struct wbsoft_priv *adapter,  PDESCRIPTOR pDes );
> +void MDS_GetNextPacketComplete(  struct wbsoft_priv *adapter,  PDESCRIPTOR pDes );
> +void MDS_SendResult(  struct wbsoft_priv *adapter,  u8 PacketId,  unsigned char SendOK );
>  
>  #endif
> diff --git a/drivers/staging/winbond/mlmetxrx.c b/drivers/staging/winbond/mlmetxrx.c
> index 308309b..d83795f 100644
> --- a/drivers/staging/winbond/mlmetxrx.c
> +++ b/drivers/staging/winbond/mlmetxrx.c
> @@ -19,7 +19,7 @@
>  
>  #include "mds_f.h"
>  
> -void MLMEResetTxRx(struct wb35_adapter * adapter)
> +void MLMEResetTxRx(struct wbsoft_priv * adapter)
>  {
>  	s32     i;
>  
> @@ -55,7 +55,7 @@ void MLMEResetTxRx(struct wb35_adapter * adapter)
>  //=============================================================================
>  
>  /* FIXME: Should this just be replaced with kmalloc() and kfree()? */
> -u8 *MLMEGetMMPDUBuffer(struct wb35_adapter * adapter)
> +u8 *MLMEGetMMPDUBuffer(struct wbsoft_priv * adapter)
>  {
>  	s32 i;
>  	u8 *returnVal;
> @@ -73,7 +73,7 @@ u8 *MLMEGetMMPDUBuffer(struct wb35_adapter * adapter)
>  }
>  
>  //=============================================================================
> -u8 MLMESendFrame(struct wb35_adapter * adapter, u8 *pMMPDU, u16 len, u8 DataType)
> +u8 MLMESendFrame(struct wbsoft_priv * adapter, u8 *pMMPDU, u16 len, u8 DataType)
>  /*	DataType : FRAME_TYPE_802_11_MANAGEMENT, FRAME_TYPE_802_11_MANAGEMENT_CHALLENGE,
>  				FRAME_TYPE_802_11_DATA */
>  {
> @@ -98,7 +98,7 @@ u8 MLMESendFrame(struct wb35_adapter * adapter, u8 *pMMPDU, u16 len, u8 DataType
>  	return true;
>  }
>  
> -void MLME_GetNextPacket(struct wb35_adapter *adapter, PDESCRIPTOR desc)
> +void MLME_GetNextPacket(struct wbsoft_priv *adapter, PDESCRIPTOR desc)
>  {
>  	desc->InternalUsed = desc->buffer_start_index + desc->buffer_number;
>  	desc->InternalUsed %= MAX_DESCRIPTOR_BUFFER_INDEX;
> @@ -109,7 +109,7 @@ void MLME_GetNextPacket(struct wb35_adapter *adapter, PDESCRIPTOR desc)
>  	desc->Type = adapter->sMlmeFrame.DataType;
>  }
>  
> -void MLMEfreeMMPDUBuffer(struct wb35_adapter * adapter, s8 *pData)
> +void MLMEfreeMMPDUBuffer(struct wbsoft_priv * adapter, s8 *pData)
>  {
>  	int i;
>  
> @@ -127,7 +127,7 @@ void MLMEfreeMMPDUBuffer(struct wb35_adapter * adapter, s8 *pData)
>  }
>  
>  void
> -MLME_SendComplete(struct wb35_adapter * adapter, u8 PacketID, unsigned char SendOK)
> +MLME_SendComplete(struct wbsoft_priv * adapter, u8 PacketID, unsigned char SendOK)
>  {
>  	MLME_TXCALLBACK	TxCallback;
>  
> diff --git a/drivers/staging/winbond/mlmetxrx_f.h b/drivers/staging/winbond/mlmetxrx_f.h
> index 0f264ed..905c301 100644
> --- a/drivers/staging/winbond/mlmetxrx_f.h
> +++ b/drivers/staging/winbond/mlmetxrx_f.h
> @@ -8,34 +8,34 @@
>  #ifndef _MLMETXRX_H
>  #define _MLMETXRX_H
>  
> -#include "adapter.h"
> +#include "core.h"
>  
>  void
>  MLMEProcThread(
> -     struct wb35_adapter *    adapter
> +     struct wbsoft_priv *    adapter
>  	);
>  
> -void MLMEResetTxRx( struct wb35_adapter * adapter);
> +void MLMEResetTxRx( struct wbsoft_priv * adapter);
>  
>  u8 *
>  MLMEGetMMPDUBuffer(
> -     struct wb35_adapter *    adapter
> +     struct wbsoft_priv *    adapter
>     );
>  
> -void MLMEfreeMMPDUBuffer( struct wb35_adapter * adapter,  s8 * pData);
> +void MLMEfreeMMPDUBuffer( struct wbsoft_priv * adapter,  s8 * pData);
>  
> -void MLME_GetNextPacket(  struct wb35_adapter * adapter,  PDESCRIPTOR pDes );
> -u8 MLMESendFrame( struct wb35_adapter * adapter,
> +void MLME_GetNextPacket(  struct wbsoft_priv * adapter,  PDESCRIPTOR pDes );
> +u8 MLMESendFrame( struct wbsoft_priv * adapter,
>  					u8	*pMMPDU,
>  					u16	len,
>  					 u8	DataType);
>  
>  void
> -MLME_SendComplete(  struct wb35_adapter * adapter,  u8 PacketID,  unsigned char SendOK );
> +MLME_SendComplete(  struct wbsoft_priv * adapter,  u8 PacketID,  unsigned char SendOK );
>  
>  void
>  MLMERcvFrame(
> -     struct wb35_adapter *    adapter,
> +     struct wbsoft_priv *    adapter,
>       PRXBUFFER        pRxBufferArray,
>       u8            NumOfBuffer,
>       u8            ReturnSlotIndex
> @@ -43,11 +43,11 @@ MLMERcvFrame(
>  
>  void
>  MLMEReturnPacket(
> -     struct wb35_adapter *    adapter,
> +     struct wbsoft_priv *    adapter,
>       u8 *          pRxBufer
>     );
>  #ifdef _IBSS_BEACON_SEQ_STICK_
> -s8 SendBCNullData(struct wb35_adapter * adapter, u16 wIdx);
> +s8 SendBCNullData(struct wbsoft_priv * adapter, u16 wIdx);
>  #endif
>  
>  #endif
> diff --git a/drivers/staging/winbond/mto.h b/drivers/staging/winbond/mto.h
> index 9a17544..536c4f1 100644
> --- a/drivers/staging/winbond/mto.h
> +++ b/drivers/staging/winbond/mto.h
> @@ -131,7 +131,7 @@ typedef struct _MTO_PARAMETERS
>  } MTO_PARAMETERS, *PMTO_PARAMETERS;
>  
>  
> -#define MTO_FUNC_INPUT              struct wb35_adapter *	adapter
> +#define MTO_FUNC_INPUT              struct wbsoft_priv *	adapter
>  #define MTO_FUNC_INPUT_DATA         adapter
>  #define MTO_DATA()                  (adapter->sMtoPara)
>  #define MTO_HAL()                   (&adapter->sHwData)
> diff --git a/drivers/staging/winbond/mto_f.h b/drivers/staging/winbond/mto_f.h
> index ce4319d..81f5913 100644
> --- a/drivers/staging/winbond/mto_f.h
> +++ b/drivers/staging/winbond/mto_f.h
> @@ -1,11 +1,11 @@
>  #ifndef __WINBOND_MTO_F_H
>  #define __WINBOND_MTO_F_H
>  
> -#include "adapter.h"
> +#include "core.h"
>  
> -extern void MTO_Init(struct wb35_adapter *);
> -extern void MTO_PeriodicTimerExpired(struct wb35_adapter *);
> -extern void MTO_SetDTORateRange(struct wb35_adapter *, u8 *, u8);
> +extern void MTO_Init(struct wbsoft_priv *);
> +extern void MTO_PeriodicTimerExpired(struct wbsoft_priv *);
> +extern void MTO_SetDTORateRange(struct wbsoft_priv *, u8 *, u8);
>  extern u8 MTO_GetTxRate(MTO_FUNC_INPUT, u32 fpdu_len);
>  extern u8 MTO_GetTxFallbackRate(MTO_FUNC_INPUT);
>  extern void MTO_SetTxCount(MTO_FUNC_INPUT, u8 t0, u8 index);
> diff --git a/drivers/staging/winbond/rxisr.c b/drivers/staging/winbond/rxisr.c
> index d48fed7..f4619d9 100644
> --- a/drivers/staging/winbond/rxisr.c
> +++ b/drivers/staging/winbond/rxisr.c
> @@ -1,19 +1,19 @@
>  #include "sysdef.h"
> -#include "adapter.h"
> +#include "core.h"
>  
>  static void RxTimerHandler(unsigned long data)
>  {
>  	WARN_ON(1);
>  }
>  
> -void vRxTimerInit(struct wb35_adapter *adapter)
> +void vRxTimerInit(struct wbsoft_priv *adapter)
>  {
>  	init_timer(&adapter->Mds.timer);
>  	adapter->Mds.timer.function = RxTimerHandler;
>  	adapter->Mds.timer.data = (unsigned long) adapter;
>  }
>  
> -void vRxTimerStart(struct wb35_adapter *adapter, int timeout_value)
> +void vRxTimerStart(struct wbsoft_priv *adapter, int timeout_value)
>  {
>  	if (timeout_value < MIN_TIMEOUT_VAL)
>  		timeout_value = MIN_TIMEOUT_VAL;
> @@ -22,7 +22,7 @@ void vRxTimerStart(struct wb35_adapter *adapter, int timeout_value)
>  	add_timer(&adapter->Mds.timer);
>  }
>  
> -void vRxTimerStop(struct wb35_adapter *adapter)
> +void vRxTimerStop(struct wbsoft_priv *adapter)
>  {
>  	del_timer_sync(&adapter->Mds.timer);
>  }
> diff --git a/drivers/staging/winbond/scan_s.h b/drivers/staging/winbond/scan_s.h
> index 7269546..775bb81 100644
> --- a/drivers/staging/winbond/scan_s.h
> +++ b/drivers/staging/winbond/scan_s.h
> @@ -114,8 +114,8 @@ typedef struct _SCAN_PARAMETERS
>  
>  // static functions
>  
> -//static void ScanTimerHandler(struct wb35_adapter * adapter);
> -//static void vScanTimerStart(struct wb35_adapter *	adapter, int timeout_value);
> -//static void vScanTimerStop(struct wb35_adapter * adapter);
> +//static void ScanTimerHandler(struct wbsoft_priv * adapter);
> +//static void vScanTimerStart(struct wbsoft_priv *	adapter, int timeout_value);
> +//static void vScanTimerStop(struct wbsoft_priv * adapter);
>  
>  #endif
> diff --git a/drivers/staging/winbond/wb35tx.c b/drivers/staging/winbond/wb35tx.c
> index ce7e981..32ee391 100644
> --- a/drivers/staging/winbond/wb35tx.c
> +++ b/drivers/staging/winbond/wb35tx.c
> @@ -23,7 +23,7 @@ Wb35Tx_get_tx_buffer(phw_data_t pHwData, u8 **pBuffer)
>  	return true;
>  }
>  
> -void Wb35Tx_start(struct wb35_adapter *adapter)
> +void Wb35Tx_start(struct wbsoft_priv *adapter)
>  {
>  	phw_data_t pHwData = &adapter->sHwData;
>  	PWB35TX pWb35Tx = &pHwData->Wb35Tx;
> @@ -37,7 +37,7 @@ void Wb35Tx_start(struct wb35_adapter *adapter)
>  }
>  
>  
> -void Wb35Tx(struct wb35_adapter *adapter)
> +void Wb35Tx(struct wbsoft_priv *adapter)
>  {
>  	phw_data_t	pHwData = &adapter->sHwData;
>  	PWB35TX		pWb35Tx = &pHwData->Wb35Tx;
> @@ -91,7 +91,7 @@ void Wb35Tx(struct wb35_adapter *adapter)
>  
>  void Wb35Tx_complete(struct urb * pUrb)
>  {
> -	struct wb35_adapter *adapter = pUrb->context;
> +	struct wbsoft_priv *adapter = pUrb->context;
>  	phw_data_t	pHwData = &adapter->sHwData;
>  	PWB35TX		pWb35Tx = &pHwData->Wb35Tx;
>  	PMDS		pMds = &adapter->Mds;
> @@ -194,7 +194,7 @@ void Wb35Tx_destroy(phw_data_t pHwData)
>  	#endif
>  }
>  
> -void Wb35Tx_CurrentTime(struct wb35_adapter *adapter, u32 TimeCount)
> +void Wb35Tx_CurrentTime(struct wbsoft_priv *adapter, u32 TimeCount)
>  {
>  	phw_data_t pHwData = &adapter->sHwData;
>  	PWB35TX pWb35Tx = &pHwData->Wb35Tx;
> @@ -211,7 +211,7 @@ void Wb35Tx_CurrentTime(struct wb35_adapter *adapter, u32 TimeCount)
>  	}
>  }
>  
> -void Wb35Tx_EP2VM_start(struct wb35_adapter *adapter)
> +void Wb35Tx_EP2VM_start(struct wbsoft_priv *adapter)
>  {
>  	phw_data_t pHwData = &adapter->sHwData;
>  	PWB35TX pWb35Tx = &pHwData->Wb35Tx;
> @@ -226,7 +226,7 @@ void Wb35Tx_EP2VM_start(struct wb35_adapter *adapter)
>  }
>  
>  
> -void Wb35Tx_EP2VM(struct wb35_adapter *adapter)
> +void Wb35Tx_EP2VM(struct wbsoft_priv *adapter)
>  {
>  	phw_data_t	pHwData = &adapter->sHwData;
>  	PWB35TX pWb35Tx = &pHwData->Wb35Tx;
> @@ -265,7 +265,7 @@ error:
>  
>  void Wb35Tx_EP2VM_complete(struct urb * pUrb)
>  {
> -	struct wb35_adapter *adapter = pUrb->context;
> +	struct wbsoft_priv *adapter = pUrb->context;
>  	phw_data_t	pHwData = &adapter->sHwData;
>  	T02_DESCRIPTOR	T02, TSTATUS;
>  	PWB35TX		pWb35Tx = &pHwData->Wb35Tx;
> diff --git a/drivers/staging/winbond/wb35tx_f.h b/drivers/staging/winbond/wb35tx_f.h
> index 466eb6f..277faa7 100644
> --- a/drivers/staging/winbond/wb35tx_f.h
> +++ b/drivers/staging/winbond/wb35tx_f.h
> @@ -1,7 +1,7 @@
>  #ifndef __WINBOND_WB35TX_F_H
>  #define __WINBOND_WB35TX_F_H
>  
> -#include "adapter.h"
> +#include "core.h"
>  #include "wbhal_f.h"
>  
>  //====================================
> @@ -11,16 +11,16 @@ unsigned char Wb35Tx_initial(	 phw_data_t pHwData );
>  void Wb35Tx_destroy(  phw_data_t pHwData );
>  unsigned char Wb35Tx_get_tx_buffer(  phw_data_t pHwData,  u8 **pBuffer );
>  
> -void Wb35Tx_EP2VM(struct wb35_adapter *adapter);
> -void Wb35Tx_EP2VM_start(struct wb35_adapter *adapter);
> +void Wb35Tx_EP2VM(struct wbsoft_priv *adapter);
> +void Wb35Tx_EP2VM_start(struct wbsoft_priv *adapter);
>  void Wb35Tx_EP2VM_complete(struct urb *urb);
>  
> -void Wb35Tx_start(struct wb35_adapter *adapter);
> +void Wb35Tx_start(struct wbsoft_priv *adapter);
>  void Wb35Tx_stop(  phw_data_t pHwData );
> -void Wb35Tx(struct wb35_adapter *adapter);
> +void Wb35Tx(struct wbsoft_priv *adapter);
>  void Wb35Tx_complete(struct urb *urb);
>  void Wb35Tx_reset_descriptor(  phw_data_t pHwData );
>  
> -void Wb35Tx_CurrentTime(struct wb35_adapter *adapter,  u32 TimeCount);
> +void Wb35Tx_CurrentTime(struct wbsoft_priv *adapter,  u32 TimeCount);
>  
>  #endif
> diff --git a/drivers/staging/winbond/wbhal.c b/drivers/staging/winbond/wbhal.c
> index a7d25a6..289ca7e 100644
> --- a/drivers/staging/winbond/wbhal.c
> +++ b/drivers/staging/winbond/wbhal.c
> @@ -32,7 +32,7 @@ void hal_get_permanent_address( phw_data_t pHwData, u8 *pethernet_address )
>  
>  static void hal_led_control(unsigned long data)
>  {
> -	struct wb35_adapter *adapter = (struct wb35_adapter *) data;
> +	struct wbsoft_priv *adapter = (struct wbsoft_priv *) data;
>  	phw_data_t pHwData = &adapter->sHwData;
>  	struct wb35_reg *reg = &pHwData->reg;
>  	u32	LEDSet = (pHwData->SoftwareSet & HAL_LED_SET_MASK) >> HAL_LED_SET_SHIFT;
> @@ -316,7 +316,7 @@ static void hal_led_control(unsigned long data)
>  }
>  
>  
> -u8 hal_init_hardware(phw_data_t pHwData, struct wb35_adapter * adapter)
> +u8 hal_init_hardware(phw_data_t pHwData, struct wbsoft_priv * adapter)
>  {
>  	u16 SoftwareSet;
>  
> @@ -671,7 +671,7 @@ s32 hal_get_rssi(  phw_data_t pHwData,  u32 *HalRssiArry,  u8 Count )
>  	return ltmp;
>  }
>  //----------------------------------------------------------------------------------------------------
> -s32 hal_get_rssi_bss(struct wb35_adapter *adapter,  u16 idx,  u8 Count)
> +s32 hal_get_rssi_bss(struct wbsoft_priv *adapter,  u16 idx,  u8 Count)
>  {
>  	phw_data_t pHwData = &adapter->sHwData;
>  	struct wb35_reg *reg = &pHwData->reg;
> @@ -841,7 +841,7 @@ void hal_system_power_change(phw_data_t pHwData, u32 PowerState)
>  	}
>  }
>  
> -void hal_surprise_remove(struct wb35_adapter *adapter)
> +void hal_surprise_remove(struct wbsoft_priv *adapter)
>  {
>  	phw_data_t pHwData = &adapter->sHwData;
>  
> @@ -853,7 +853,7 @@ void hal_surprise_remove(struct wb35_adapter *adapter)
>  	}
>  }
>  
> -void hal_rate_change(struct wb35_adapter *adapter) // Notify the HAL rate is changing 20060613.1
> +void hal_rate_change(struct wbsoft_priv *adapter) // Notify the HAL rate is changing 20060613.1
>  {
>  	phw_data_t pHwData = &adapter->sHwData;
>  	u8		rate = CURRENT_TX_RATE;
> diff --git a/drivers/staging/winbond/wbhal_f.h b/drivers/staging/winbond/wbhal_f.h
> index 4cb4da0..e7a1d61 100644
> --- a/drivers/staging/winbond/wbhal_f.h
> +++ b/drivers/staging/winbond/wbhal_f.h
> @@ -5,7 +5,7 @@
>  #include "wb35tx_f.h"
>  #include "wb35rx_f.h"
>  
> -#include "adapter.h"
> +#include "core.h"
>  
>  //====================================================================================
>  // Function declaration
> @@ -21,7 +21,7 @@ void hal_clear_all_key(  phw_data_t pHwData );
>  void hal_get_ethernet_address(  phw_data_t pHwData,  u8 *current_address );
>  void hal_set_ethernet_address(  phw_data_t pHwData,  u8 *current_address );
>  void hal_get_permanent_address(  phw_data_t pHwData,  u8 *pethernet_address );
> -unsigned char hal_init_hardware(  phw_data_t pHwData,  struct wb35_adapter * adapter );
> +unsigned char hal_init_hardware(  phw_data_t pHwData,  struct wbsoft_priv * adapter );
>  void hal_set_power_save_mode(  phw_data_t pHwData,  unsigned char power_save,  unsigned char wakeup,  unsigned char dtim );
>  void hal_get_power_save_mode(  phw_data_t pHwData,   u8 *pin_pwr_save );
>  void hal_set_slot_time(  phw_data_t pHwData,  u8 type );
> @@ -61,7 +61,7 @@ void hal_set_cwmax(  phw_data_t pHwData,  u16 cwin_max );
>  void hal_set_rsn_wpa(  phw_data_t pHwData,  u32 * RSN_IE_Bitmap , u32 * RSN_OUI_type , unsigned char bDesiredAuthMode);
>  //s32 hal_get_rssi(  phw_data_t pHwData,  u32 HalRssi );
>  s32 hal_get_rssi(  phw_data_t pHwData,  u32 *HalRssiArry,  u8 Count );
> -s32 hal_get_rssi_bss(struct wb35_adapter *adapter,  u16 idx,  u8 Count);
> +s32 hal_get_rssi_bss(struct wbsoft_priv *adapter,  u16 idx,  u8 Count);
>  void hal_set_connect_info(  phw_data_t pHwData,  unsigned char boConnect );
>  u8 hal_get_est_sq3(  phw_data_t pHwData,  u8 Count );
>  void hal_set_rf_power(  phw_data_t pHwData,  u8 PowerIndex ); // 20060621 Modify
> @@ -82,13 +82,13 @@ u8 hal_get_hw_radio_off			(  phw_data_t pHwData );
>  #define hal_scan_interval( _A )		(_A->Scan_Interval)
>  void hal_scan_status_indicate(  phw_data_t pHwData, u8 status);	// 0: complete, 1: in progress
>  void hal_system_power_change(  phw_data_t pHwData, u32 PowerState ); // 20051230 -=D0 1=D1 ..
> -void hal_surprise_remove(struct wb35_adapter *adapter);
> +void hal_surprise_remove(struct wbsoft_priv *adapter);
>  
>  #define PHY_DEBUG( msg, args... )
>  
>  
>  
> -void hal_rate_change(struct wb35_adapter *adapter); // Notify the HAL rate is changing 20060613.1
> +void hal_rate_change(struct wbsoft_priv *adapter); // Notify the HAL rate is changing 20060613.1
>  unsigned char hal_get_dxx_reg(  phw_data_t pHwData,  u16 number,  u32 * pValue );
>  unsigned char hal_set_dxx_reg(  phw_data_t pHwData,  u16 number,  u32 value );
>  #define hal_get_time_count( _P )	(_P->time_count/10)	// return 100ms count
> diff --git a/drivers/staging/winbond/wblinux.c b/drivers/staging/winbond/wblinux.c
> index 5d3acc8..3b02aae 100644
> --- a/drivers/staging/winbond/wblinux.c
> +++ b/drivers/staging/winbond/wblinux.c
> @@ -17,14 +17,14 @@
>  #include "wblinux_f.h"
>  
>  unsigned char
> -WBLINUX_Initial(struct wb35_adapter * adapter)
> +WBLINUX_Initial(struct wbsoft_priv * adapter)
>  {
>  	spin_lock_init( &adapter->SpinLock );
>  	return true;
>  }
>  
>  void
> -WBLINUX_Destroy(struct wb35_adapter * adapter)
> +WBLINUX_Destroy(struct wbsoft_priv * adapter)
>  {
>  	WBLINUX_stop( adapter );
>  #ifdef _PE_USB_INI_DUMP_
> @@ -33,7 +33,7 @@ WBLINUX_Destroy(struct wb35_adapter * adapter)
>  }
>  
>  void
> -WBLINUX_stop(  struct wb35_adapter * adapter )
> +WBLINUX_stop(  struct wbsoft_priv * adapter )
>  {
>  	struct sk_buff *pSkb;
>  
> @@ -63,7 +63,7 @@ WBLINUX_stop(  struct wb35_adapter * adapter )
>  }
>  
>  void
> -WbWlanHalt(  struct wb35_adapter * adapter )
> +WbWlanHalt(  struct wbsoft_priv * adapter )
>  {
>  	//---------------------
>  	adapter->sLocalPara.ShutDowned = true;
> @@ -85,7 +85,7 @@ WbWlanHalt(  struct wb35_adapter * adapter )
>  }
>  
>  unsigned char
> -WbWLanInitialize(struct wb35_adapter * adapter)
> +WbWLanInitialize(struct wbsoft_priv * adapter)
>  {
>  	phw_data_t	pHwData;
>  	u8		*pMacAddr;
> diff --git a/drivers/staging/winbond/wblinux_f.h b/drivers/staging/winbond/wblinux_f.h
> index ed2676b..4b786fc 100644
> --- a/drivers/staging/winbond/wblinux_f.h
> +++ b/drivers/staging/winbond/wblinux_f.h
> @@ -1,7 +1,7 @@
>  #ifndef __WBLINUX_F_H
>  #define __WBLINUX_F_H
>  
> -#include "adapter.h"
> +#include "core.h"
>  #include "mds_s.h"
>  
>  //=========================================================================
> @@ -9,14 +9,14 @@
>  //
>  // wblinux_f.h
>  //
> -unsigned char WBLINUX_Initial(  struct wb35_adapter *adapter );
> +unsigned char WBLINUX_Initial(  struct wbsoft_priv *adapter );
>  int wb35_start_xmit(struct sk_buff *skb, struct net_device *netdev );
> -void WBLINUX_stop(  struct wb35_adapter *adapter );
> -void WBLINUX_Destroy(  struct wb35_adapter *adapter );
> +void WBLINUX_stop(  struct wbsoft_priv *adapter );
> +void WBLINUX_Destroy(  struct wbsoft_priv *adapter );
>  void wb35_set_multicast( struct net_device *netdev );
>  struct net_device_stats * wb35_netdev_stats( struct net_device *netdev );
> -void WBLINUX_stop(  struct wb35_adapter *adapter );
> -void WbWlanHalt(  struct wb35_adapter *adapter );
> -unsigned char WbWLanInitialize(struct wb35_adapter *adapter);
> +void WBLINUX_stop(  struct wbsoft_priv *adapter );
> +void WbWlanHalt(  struct wbsoft_priv *adapter );
> +unsigned char WbWLanInitialize(struct wbsoft_priv *adapter);
>  
>  #endif
> diff --git a/drivers/staging/winbond/wbusb.c b/drivers/staging/winbond/wbusb.c
> index d8fa9e5..a6bc78e 100644
> --- a/drivers/staging/winbond/wbusb.c
> +++ b/drivers/staging/winbond/wbusb.c
> @@ -120,7 +120,7 @@ static int wbsoft_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
>  {
>  	struct wbsoft_priv *priv = dev->priv;
>  
> -	MLMESendFrame(priv->adapter, skb->data, skb->len, FRAME_TYPE_802_11_MANAGEMENT);
> +	MLMESendFrame(priv, skb->data, skb->len, FRAME_TYPE_802_11_MANAGEMENT);
>  
>  	return NETDEV_TX_OK;
>  }
> @@ -144,20 +144,20 @@ static int wbsoft_config(struct ieee80211_hw *dev, struct ieee80211_conf *conf)
>  	ch.ChanNo = 1;	/* Should use channel_num, or something, as that is already pre-translated */
>  
>  
> -	hal_set_current_channel(&priv->adapter->sHwData, ch);
> -	hal_set_beacon_period(&priv->adapter->sHwData, conf->beacon_int);
> -//	hal_set_cap_info(&priv->adapter->sHwData, ?? );
> +	hal_set_current_channel(&priv->sHwData, ch);
> +	hal_set_beacon_period(&priv->sHwData, conf->beacon_int);
> +//	hal_set_cap_info(&priv->sHwData, ?? );
>  // hal_set_ssid(phw_data_t pHwData,  u8 * pssid,  u8 ssid_len); ??
> -	hal_set_accept_broadcast(&priv->adapter->sHwData, 1);
> -	hal_set_accept_promiscuous(&priv->adapter->sHwData,  1);
> -	hal_set_accept_multicast(&priv->adapter->sHwData,  1);
> -	hal_set_accept_beacon(&priv->adapter->sHwData,  1);
> -	hal_set_radio_mode(&priv->adapter->sHwData,  0);
> +	hal_set_accept_broadcast(&priv->sHwData, 1);
> +	hal_set_accept_promiscuous(&priv->sHwData,  1);
> +	hal_set_accept_multicast(&priv->sHwData,  1);
> +	hal_set_accept_beacon(&priv->sHwData,  1);
> +	hal_set_radio_mode(&priv->sHwData,  0);
>  	//hal_set_antenna_number(  phw_data_t pHwData, u8 number )
>  	//hal_set_rf_power(phw_data_t pHwData, u8 PowerIndex)
>  
>  
> -//	hal_start_bss(&priv->adapter->sHwData, WLAN_BSSTYPE_INFRASTRUCTURE);	??
> +//	hal_start_bss(&priv->sHwData, WLAN_BSSTYPE_INFRASTRUCTURE);	??
>  
>  //void hal_set_rates(phw_data_t pHwData, u8 * pbss_rates,
>  //		   u8 length, unsigned char basic_rate_set)
> @@ -196,7 +196,6 @@ static const struct ieee80211_ops wbsoft_ops = {
>  
>  static int wb35_probe(struct usb_interface *intf, const struct usb_device_id *id_table)
>  {
> -	struct wb35_adapter *adapter;
>  	PWBUSB		pWbUsb;
>          struct usb_host_interface *interface;
>  	struct usb_endpoint_descriptor *endpoint;
> @@ -221,13 +220,14 @@ static int wb35_probe(struct usb_interface *intf, const struct usb_device_id *id
>  		goto error;
>  	}
>  
> -	adapter = kzalloc(sizeof(*adapter), GFP_KERNEL);
> -	if (!adapter) {
> -		err = -ENOMEM;
> +	dev = ieee80211_alloc_hw(sizeof(*priv), &wbsoft_ops);
> +	if (!dev)
>  		goto error;
> -	}
>  
> -	pWbUsb = &adapter->sHwData.WbUsb;
> +	priv = dev->priv;
> +	my_dev = dev;
> +
> +	pWbUsb = &priv->sHwData.WbUsb;
>  	pWbUsb->udev = udev;
>  
>          interface = intf->cur_altsetting;
> @@ -238,23 +238,14 @@ static int wb35_probe(struct usb_interface *intf, const struct usb_device_id *id
>  		pWbUsb->IsUsb20 = 1;
>  	}
>  
> -	if (!WbWLanInitialize(adapter)) {
> +	if (!WbWLanInitialize(priv)) {
>  		err = -EINVAL;
> -		goto error_free_adapter;
> +		goto error_free_hw;
>  	}
>  
> -	dev = ieee80211_alloc_hw(sizeof(*priv), &wbsoft_ops);
> -	if (!dev)
> -		goto error_free_adapter;
> -
> -	priv = dev->priv;
> -	priv->adapter = adapter;
> -
> -	my_dev = dev;
> -
>  	SET_IEEE80211_DEV(dev, &udev->dev);
>  	{
> -		phw_data_t pHwData = &adapter->sHwData;
> +		phw_data_t pHwData = &priv->sHwData;
>  		unsigned char		dev_addr[MAX_ADDR_LEN];
>  		hal_get_permanent_address(pHwData, dev_addr);
>  		SET_IEEE80211_PERM_ADDR(dev, dev_addr);
> @@ -272,14 +263,12 @@ static int wb35_probe(struct usb_interface *intf, const struct usb_device_id *id
>  	if (err)
>  		goto error_free_hw;
>  
> -	usb_set_intfdata(intf, adapter);
> +	usb_set_intfdata(intf, priv);
>  
>  	return 0;
>  
>  error_free_hw:
>  	ieee80211_free_hw(dev);
> -error_free_adapter:
> -	kfree(adapter);
>  error:
>  	usb_put_dev(udev);
>  	return err;
> @@ -315,9 +304,9 @@ void packet_came(char *pRxBufferAddress, int PacketSize)
>  
>  static void wb35_disconnect(struct usb_interface *intf)
>  {
> -	struct wb35_adapter *adapter = usb_get_intfdata(intf);
> +	struct wbsoft_priv *priv = usb_get_intfdata(intf);
>  
> -	WbWlanHalt(adapter);
> +	WbWlanHalt(priv);
>  
>  	usb_set_intfdata(intf, NULL);
>  	usb_put_dev(interface_to_usbdev(intf));

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ