-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Staging: csr: add WEXT and AP mode support
Cc: Mikko Virkkilä <mikko.virkkila@bluegiga.com> Cc: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com> Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- Loading branch information
Lauri Hintsala
authored and
Greg Kroah-Hartman
committed
Jun 25, 2012
1 parent
8c3337f
commit fa6173a
Showing
8 changed files
with
1,142 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
/***************************************************************************** | ||
(c) Cambridge Silicon Radio Limited 2012 | ||
All rights reserved and confidential information of CSR | ||
Refer to LICENSE.txt included with this source for details | ||
on the license terms. | ||
*****************************************************************************/ | ||
|
||
/* Note: this is an auto-generated file. */ | ||
|
||
#include "csr_msgconv.h" | ||
#include "csr_pmem.h" | ||
#include "csr_util.h" | ||
|
||
#ifdef CSR_WIFI_NME_ENABLE | ||
#ifdef CSR_WIFI_AP_ENABLE | ||
|
||
#ifdef CSR_LOG_ENABLE | ||
#include "csr_log.h" | ||
#endif | ||
|
||
#ifndef EXCLUDE_CSR_WIFI_NME_AP_MODULE | ||
#include "csr_wifi_nme_ap_serialize.h" | ||
#include "csr_wifi_nme_ap_prim.h" | ||
|
||
static CsrMsgConvMsgEntry csrwifinmeap_conv_lut[] = { | ||
{ CSR_WIFI_NME_AP_CONFIG_SET_REQ, CsrWifiNmeApConfigSetReqSizeof, CsrWifiNmeApConfigSetReqSer, CsrWifiNmeApConfigSetReqDes, CsrWifiNmeApConfigSetReqSerFree }, | ||
{ CSR_WIFI_NME_AP_WPS_REGISTER_REQ, CsrWifiNmeApWpsRegisterReqSizeof, CsrWifiNmeApWpsRegisterReqSer, CsrWifiNmeApWpsRegisterReqDes, CsrWifiNmeApWpsRegisterReqSerFree }, | ||
{ CSR_WIFI_NME_AP_START_REQ, CsrWifiNmeApStartReqSizeof, CsrWifiNmeApStartReqSer, CsrWifiNmeApStartReqDes, CsrWifiNmeApStartReqSerFree }, | ||
{ CSR_WIFI_NME_AP_STOP_REQ, CsrWifiNmeApStopReqSizeof, CsrWifiNmeApStopReqSer, CsrWifiNmeApStopReqDes, CsrWifiNmeApStopReqSerFree }, | ||
{ CSR_WIFI_NME_AP_WMM_PARAM_UPDATE_REQ, CsrWifiNmeApWmmParamUpdateReqSizeof, CsrWifiNmeApWmmParamUpdateReqSer, CsrWifiNmeApWmmParamUpdateReqDes, CsrWifiNmeApWmmParamUpdateReqSerFree }, | ||
{ CSR_WIFI_NME_AP_STA_REMOVE_REQ, CsrWifiNmeApStaRemoveReqSizeof, CsrWifiNmeApStaRemoveReqSer, CsrWifiNmeApStaRemoveReqDes, CsrWifiNmeApStaRemoveReqSerFree }, | ||
{ CSR_WIFI_NME_AP_CONFIG_SET_CFM, CsrWifiNmeApConfigSetCfmSizeof, CsrWifiNmeApConfigSetCfmSer, CsrWifiNmeApConfigSetCfmDes, CsrWifiNmeApConfigSetCfmSerFree }, | ||
{ CSR_WIFI_NME_AP_WPS_REGISTER_CFM, CsrWifiNmeApWpsRegisterCfmSizeof, CsrWifiNmeApWpsRegisterCfmSer, CsrWifiNmeApWpsRegisterCfmDes, CsrWifiNmeApWpsRegisterCfmSerFree }, | ||
{ CSR_WIFI_NME_AP_START_CFM, CsrWifiNmeApStartCfmSizeof, CsrWifiNmeApStartCfmSer, CsrWifiNmeApStartCfmDes, CsrWifiNmeApStartCfmSerFree }, | ||
{ CSR_WIFI_NME_AP_STOP_CFM, CsrWifiNmeApStopCfmSizeof, CsrWifiNmeApStopCfmSer, CsrWifiNmeApStopCfmDes, CsrWifiNmeApStopCfmSerFree }, | ||
{ CSR_WIFI_NME_AP_STOP_IND, CsrWifiNmeApStopIndSizeof, CsrWifiNmeApStopIndSer, CsrWifiNmeApStopIndDes, CsrWifiNmeApStopIndSerFree }, | ||
{ CSR_WIFI_NME_AP_WMM_PARAM_UPDATE_CFM, CsrWifiNmeApWmmParamUpdateCfmSizeof, CsrWifiNmeApWmmParamUpdateCfmSer, CsrWifiNmeApWmmParamUpdateCfmDes, CsrWifiNmeApWmmParamUpdateCfmSerFree }, | ||
{ CSR_WIFI_NME_AP_STATION_IND, CsrWifiNmeApStationIndSizeof, CsrWifiNmeApStationIndSer, CsrWifiNmeApStationIndDes, CsrWifiNmeApStationIndSerFree }, | ||
|
||
{ 0, NULL, NULL, NULL, NULL }, | ||
}; | ||
|
||
CsrMsgConvMsgEntry* CsrWifiNmeApConverterLookup(CsrMsgConvMsgEntry *ce, CsrUint16 msgType) | ||
{ | ||
if (msgType & CSR_PRIM_UPSTREAM) | ||
{ | ||
CsrUint16 idx = (msgType & ~CSR_PRIM_UPSTREAM) + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_COUNT; | ||
if (idx < (CSR_WIFI_NME_AP_PRIM_UPSTREAM_COUNT + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_COUNT) && | ||
csrwifinmeap_conv_lut[idx].msgType == msgType) | ||
{ | ||
return &csrwifinmeap_conv_lut[idx]; | ||
} | ||
} | ||
else | ||
{ | ||
if (msgType < CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_COUNT && | ||
csrwifinmeap_conv_lut[msgType].msgType == msgType) | ||
{ | ||
return &csrwifinmeap_conv_lut[msgType]; | ||
} | ||
} | ||
return NULL; | ||
} | ||
|
||
|
||
void CsrWifiNmeApConverterInit(void) | ||
{ | ||
CsrMsgConvInsert(CSR_WIFI_NME_AP_PRIM, csrwifinmeap_conv_lut); | ||
CsrMsgConvCustomLookupRegister(CSR_WIFI_NME_AP_PRIM, CsrWifiNmeApConverterLookup); | ||
} | ||
|
||
|
||
#ifdef CSR_LOG_ENABLE | ||
static const CsrLogPrimitiveInformation csrwifinmeap_conv_info = { | ||
CSR_WIFI_NME_AP_PRIM, | ||
(CsrCharString *)"CSR_WIFI_NME_AP_PRIM", | ||
csrwifinmeap_conv_lut | ||
}; | ||
const CsrLogPrimitiveInformation* CsrWifiNmeApTechInfoGet(void) | ||
{ | ||
return &csrwifinmeap_conv_info; | ||
} | ||
|
||
|
||
#endif /* CSR_LOG_ENABLE */ | ||
#endif /* EXCLUDE_CSR_WIFI_NME_AP_MODULE */ | ||
#endif /* CSR_WIFI_NME_ENABLE */ | ||
#endif /* CSR_WIFI_AP_ENABLE */ |
85 changes: 85 additions & 0 deletions
85
drivers/staging/csr/csr_wifi_nme_ap_free_downstream_contents.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
/***************************************************************************** | ||
(c) Cambridge Silicon Radio Limited 2012 | ||
All rights reserved and confidential information of CSR | ||
Refer to LICENSE.txt included with this source for details | ||
on the license terms. | ||
*****************************************************************************/ | ||
|
||
/* Note: this is an auto-generated file. */ | ||
|
||
#include "csr_pmem.h" | ||
#include "csr_wifi_nme_ap_prim.h" | ||
#include "csr_wifi_nme_ap_lib.h" | ||
|
||
/*----------------------------------------------------------------------------* | ||
* NAME | ||
* CsrWifiNmeApFreeDownstreamMessageContents | ||
* | ||
* DESCRIPTION | ||
* | ||
* | ||
* PARAMETERS | ||
* eventClass: only the value CSR_WIFI_NME_AP_PRIM will be handled | ||
* message: the message to free | ||
*----------------------------------------------------------------------------*/ | ||
void CsrWifiNmeApFreeDownstreamMessageContents(CsrUint16 eventClass, void *message) | ||
{ | ||
if (eventClass != CSR_WIFI_NME_AP_PRIM) | ||
{ | ||
return; | ||
} | ||
if (NULL == message) | ||
{ | ||
return; | ||
} | ||
|
||
switch (*((CsrWifiNmeApPrim *) message)) | ||
{ | ||
case CSR_WIFI_NME_AP_CONFIG_SET_REQ: | ||
{ | ||
CsrWifiNmeApConfigSetReq *p = (CsrWifiNmeApConfigSetReq *)message; | ||
CsrPmemFree(p->apMacConfig.macAddressList); | ||
p->apMacConfig.macAddressList = NULL; | ||
break; | ||
} | ||
case CSR_WIFI_NME_AP_START_REQ: | ||
{ | ||
CsrWifiNmeApStartReq *p = (CsrWifiNmeApStartReq *)message; | ||
switch (p->apCredentials.authType) | ||
{ | ||
case CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL: | ||
switch (p->apCredentials.nmeAuthType.authTypePersonal.pskOrPassphrase) | ||
{ | ||
case CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PASSPHRASE: | ||
CsrPmemFree(p->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.passphrase); | ||
p->apCredentials.nmeAuthType.authTypePersonal.authPers_credentials.passphrase.passphrase = NULL; | ||
break; | ||
default: | ||
break; | ||
} | ||
break; | ||
default: | ||
break; | ||
} | ||
{ | ||
CsrUint16 i3; | ||
for (i3 = 0; i3 < p->p2pGoParam.operatingChanList.channelEntryListCount; i3++) | ||
{ | ||
CsrPmemFree(p->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannel); | ||
p->p2pGoParam.operatingChanList.channelEntryList[i3].operatingChannel = NULL; | ||
} | ||
} | ||
CsrPmemFree(p->p2pGoParam.operatingChanList.channelEntryList); | ||
p->p2pGoParam.operatingChanList.channelEntryList = NULL; | ||
break; | ||
} | ||
|
||
default: | ||
break; | ||
} | ||
} | ||
|
||
|
40 changes: 40 additions & 0 deletions
40
drivers/staging/csr/csr_wifi_nme_ap_free_upstream_contents.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
/***************************************************************************** | ||
(c) Cambridge Silicon Radio Limited 2012 | ||
All rights reserved and confidential information of CSR | ||
Refer to LICENSE.txt included with this source for details | ||
on the license terms. | ||
*****************************************************************************/ | ||
|
||
/* Note: this is an auto-generated file. */ | ||
|
||
#include "csr_pmem.h" | ||
#include "csr_wifi_nme_ap_prim.h" | ||
#include "csr_wifi_nme_ap_lib.h" | ||
|
||
/*----------------------------------------------------------------------------* | ||
* NAME | ||
* CsrWifiNmeApFreeUpstreamMessageContents | ||
* | ||
* DESCRIPTION | ||
* | ||
* | ||
* PARAMETERS | ||
* eventClass: only the value CSR_WIFI_NME_AP_PRIM will be handled | ||
* message: the message to free | ||
*----------------------------------------------------------------------------*/ | ||
void CsrWifiNmeApFreeUpstreamMessageContents(CsrUint16 eventClass, void *message) | ||
{ | ||
if (eventClass != CSR_WIFI_NME_AP_PRIM) | ||
{ | ||
return; | ||
} | ||
if (NULL == message) | ||
{ | ||
return; | ||
} | ||
} | ||
|
||
|
Oops, something went wrong.