Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e8a2b60 authored by Pekka Enberg's avatar Pekka Enberg Committed by Greg Kroah-Hartman
Browse files

Staging: w35und: merge struct wb35_adapter to struct wbsoft_priv



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: default avatarPavel Machek <pavel@suse.cz>
Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent ac418b8f
Loading
Loading
Loading
Loading

drivers/staging/winbond/adapter.h

deleted100644 → 0
+0 −44
Original line number Diff line number Diff line
#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
+35 −35
Original line number Diff line number Diff line
#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

+36 −2
Original line number Diff line number Diff line
#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 */
+8 −8
Original line number Diff line number Diff line
@@ -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;
+18 −18
Original line number Diff line number Diff line
@@ -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
Loading