staging: rtl8192e: Pass ieee80211_device to callbacks

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Mike McCormack 2011-03-10 22:33:47 +09:00 committed by Greg Kroah-Hartman
parent 09145962d6
commit d1c580aa70
9 changed files with 44 additions and 46 deletions

View File

@ -1803,7 +1803,7 @@ struct ieee80211_device {
u8 LPSDelayCnt;
bool bIsAggregateFrame;
bool polling;
void (*LeisurePSLeave)(struct net_device *dev);
void (*LeisurePSLeave)(struct ieee80211_device *ieee);
#endif
#ifdef ENABLE_IPS
@ -1811,10 +1811,10 @@ struct ieee80211_device {
bool wx_set_enc;
struct semaphore ips_sem;
struct work_struct ips_leave_wq;
void (*ieee80211_ips_leave_wq) (struct net_device *dev);
void (*ieee80211_ips_leave)(struct net_device *dev);
void (*ieee80211_ips_leave_wq) (struct ieee80211_device *ieee);
void (*ieee80211_ips_leave)(struct ieee80211_device *ieee);
#endif
void (*SetHwRegHandler)(struct net_device *dev,u8 variable,u8* val);
void (*SetHwRegHandler)(struct ieee80211_device *ieee, u8 variable, u8 *val);
u8 (*rtllib_ap_sec_type)(struct ieee80211_device *ieee);
//hw security related
@ -2099,7 +2099,7 @@ struct ieee80211_device {
struct workqueue_struct *wq;
/* Callback functions */
void (*set_security)(struct net_device *dev,
void (*set_security)(struct ieee80211_device *ieee,
struct ieee80211_security *sec);
/* Used to TX data frame by using txb structs.
@ -2107,7 +2107,7 @@ struct ieee80211_device {
* is set the flag IEEE_SOFTMAC_TX_QUEUE
*/
int (*hard_start_xmit)(struct ieee80211_txb *txb,
struct net_device *dev);
struct ieee80211_device *ieee);
int (*reset_port)(struct net_device *dev);
int (*is_queue_full) (struct net_device * dev, int pri);

View File

@ -1341,7 +1341,7 @@ int ieee80211_rtl_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
(ieee->LinkDetectInfo.NumRxUnicastOkInPeriod > 2) )
{
if(ieee->LeisurePSLeave)
ieee->LeisurePSLeave(dev);
ieee->LeisurePSLeave(ieee);
}
}
}

View File

@ -609,7 +609,7 @@ void ieee80211_rtl_start_scan(struct ieee80211_device *ieee)
{
#ifdef ENABLE_IPS
if(ieee->ieee80211_ips_leave_wq != NULL)
ieee->ieee80211_ips_leave_wq(ieee->dev);
ieee->ieee80211_ips_leave_wq(ieee);
#endif
#ifdef ENABLE_DOT11D
@ -1408,7 +1408,7 @@ void ieee80211_associate_procedure_wq(struct work_struct *work)
ieee->sync_scan_hurryup = 1;
#ifdef ENABLE_IPS
if(ieee->ieee80211_ips_leave != NULL)
ieee->ieee80211_ips_leave(ieee->dev);
ieee->ieee80211_ips_leave(ieee);
#endif
down(&ieee->wx_sem);
@ -2522,7 +2522,7 @@ void ieee80211_start_bss(struct ieee80211_device *ieee)
if (ieee->state == IEEE80211_NOLINK){
#ifdef ENABLE_IPS
if(ieee->ieee80211_ips_leave_wq != NULL)
ieee->ieee80211_ips_leave_wq(ieee->dev);
ieee->ieee80211_ips_leave_wq(ieee);
#endif
ieee->actscanning = true;
ieee80211_rtl_start_scan(ieee);
@ -2933,7 +2933,7 @@ static int ieee80211_wpa_set_auth_algs(struct ieee80211_device *ieee, int value)
if (ieee->set_security)
ieee->set_security(ieee->dev, &sec);
ieee->set_security(ieee, &sec);
return ret;
}
@ -2981,7 +2981,7 @@ static int ieee80211_wpa_set_param(struct ieee80211_device *ieee, u8 name, u32 v
sec.level = SEC_LEVEL_1;
}
if (ieee->set_security)
ieee->set_security(ieee->dev, &sec);
ieee->set_security(ieee, &sec);
break;
}
@ -3147,7 +3147,7 @@ static int ieee80211_wpa_set_encryption(struct ieee80211_device *ieee,
}
done:
if (ieee->set_security)
ieee->set_security(ieee->dev, &sec);
ieee->set_security(ieee, &sec);
/* Do not reset port if card is in Managed mode since resetting will
* generate new IEEE 802.11 authentication which may end up in looping

View File

@ -70,7 +70,7 @@ int ieee80211_wx_set_freq(struct ieee80211_device *ieee, struct iw_request_info
}
#endif
ieee->current_network.channel = fwrq->m;
ieee->set_chan(ieee->dev, ieee->current_network.channel);
ieee->set_chan(ieee, ieee->current_network.channel);
if(ieee->iw_mode == IW_MODE_ADHOC || ieee->iw_mode == IW_MODE_MASTER)
if(ieee->state == IEEE80211_LINKED){
@ -307,7 +307,7 @@ void ieee80211_wx_sync_scan_wq(struct work_struct *work)
#ifdef ENABLE_LPS
if (ieee->LeisurePSLeave) {
ieee->LeisurePSLeave(ieee->dev);
ieee->LeisurePSLeave(ieee);
}
/* notify AP to be in PS mode */
@ -334,14 +334,14 @@ void ieee80211_wx_sync_scan_wq(struct work_struct *work)
if (b40M) {
printk("Scan in 20M, back to 40M\n");
if (chan_offset == HT_EXTCHNL_OFFSET_UPPER)
ieee->set_chan(ieee->dev, chan + 2);
ieee->set_chan(ieee, chan + 2);
else if (chan_offset == HT_EXTCHNL_OFFSET_LOWER)
ieee->set_chan(ieee->dev, chan - 2);
ieee->set_chan(ieee, chan - 2);
else
ieee->set_chan(ieee->dev, chan);
ieee->set_chan(ieee, chan);
ieee->SetBWModeHandler(ieee->dev, bandwidth, chan_offset);
} else {
ieee->set_chan(ieee->dev, chan);
ieee->set_chan(ieee, chan);
}
ieee->InitialGainHandler(ieee->dev,IG_Restore);

View File

@ -935,7 +935,7 @@ int ieee80211_rtl_xmit(struct sk_buff *skb, struct net_device *dev)
if (ieee->softmac_features & IEEE_SOFTMAC_TX_QUEUE){
ieee80211_softmac_xmit(txb, ieee);
}else{
if ((*ieee->hard_start_xmit)(txb, dev) == 0) {
if ((*ieee->hard_start_xmit)(txb, ieee) == 0) {
stats->tx_packets++;
stats->tx_bytes += txb->payload_size;
return 0;

View File

@ -463,7 +463,7 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee,
sec.level = SEC_LEVEL_1; /* 40 and 104 bit WEP */
if (ieee->set_security)
ieee->set_security(dev, &sec);
ieee->set_security(ieee, &sec);
/* Do not reset port if card is in Managed mode since resetting will
* generate new IEEE 802.11 authentication which may end up in looping
@ -696,7 +696,7 @@ int ieee80211_wx_set_encode_ext(struct ieee80211_device *ieee,
#endif
done:
if (ieee->set_security)
ieee->set_security(ieee->dev, &sec);
ieee->set_security(ieee, &sec);
if (ieee->reset_on_keychange &&
ieee->iw_mode != IW_MODE_INFRA &&

View File

@ -1133,12 +1133,12 @@ RT_STATUS cmpk_message_handle_tx(struct net_device *dev, u8* codevirtualaddress,
void IPSEnter(struct r8192_priv *priv);
void IPSLeave(struct r8192_priv *priv);
void IPSLeave_wq(struct work_struct *work);
void ieee80211_ips_leave_wq(struct net_device *dev);
void ieee80211_ips_leave(struct net_device *dev);
void ieee80211_ips_leave_wq(struct ieee80211_device *ieee80211);
void ieee80211_ips_leave(struct ieee80211_device *ieee80211);
#endif
#ifdef ENABLE_LPS
void LeisurePSEnter(struct net_device *dev);
void LeisurePSLeave(struct net_device *dev);
void LeisurePSEnter(struct ieee80211_device *ieee80211);
void LeisurePSLeave(struct ieee80211_device *ieee80211);
#endif
bool NicIFEnableNIC(struct r8192_priv *priv);

View File

@ -271,10 +271,9 @@ u8 rtl8192e_ap_sec_type(struct ieee80211_device *ieee)
}
}
void
rtl8192e_SetHwReg(struct net_device *dev,u8 variable,u8* val)
void rtl8192e_SetHwReg(struct ieee80211_device *ieee80211, u8 variable, u8 *val)
{
struct r8192_priv* priv = ieee80211_priv(dev);
struct r8192_priv *priv = ieee80211_priv(ieee80211->dev);
switch(variable)
{
@ -748,13 +747,12 @@ void PHY_SetRtl8192eRfOff(struct r8192_priv *priv)
static void rtl8192_halt_adapter(struct r8192_priv *priv, bool reset)
{
struct net_device *dev = priv->ieee80211->dev;
int i;
u8 OpMode;
u32 ulRegRead;
OpMode = RT_OP_MODE_NO_LINK;
priv->ieee80211->SetHwRegHandler(dev, HW_VAR_MEDIA_STATUS, &OpMode);
priv->ieee80211->SetHwRegHandler(priv->ieee80211, HW_VAR_MEDIA_STATUS, &OpMode);
if (!priv->ieee80211->bSupportRemoteWakeUp) {
/*
@ -3071,9 +3069,9 @@ bool MgntActSet_802_11_PowerSaveMode(struct r8192_priv *priv, u8 rtPsMode)
}
/* Enter the leisure power save mode. */
void LeisurePSEnter(struct net_device *dev)
void LeisurePSEnter(struct ieee80211_device *ieee80211)
{
struct r8192_priv *priv = ieee80211_priv(dev);
struct r8192_priv *priv = ieee80211_priv(ieee80211->dev);
PRT_POWER_SAVE_CONTROL pPSC = &priv->PowerSaveControl;
if(!((priv->ieee80211->iw_mode == IW_MODE_INFRA) &&
@ -3101,9 +3099,9 @@ void LeisurePSEnter(struct net_device *dev)
/* Leave leisure power save mode. */
void LeisurePSLeave(struct net_device *dev)
void LeisurePSLeave(struct ieee80211_device *ieee80211)
{
struct r8192_priv *priv = ieee80211_priv(dev);
struct r8192_priv *priv = ieee80211_priv(ieee80211->dev);
PRT_POWER_SAVE_CONTROL pPSC = &priv->PowerSaveControl;
if (pPSC->bLeisurePs)
@ -3181,9 +3179,9 @@ void IPSLeave_wq(struct work_struct *work)
up(&priv->ieee80211->ips_sem);
}
void ieee80211_ips_leave_wq(struct net_device *dev)
void ieee80211_ips_leave_wq(struct ieee80211_device *ieee80211)
{
struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
struct r8192_priv *priv = ieee80211_priv(ieee80211->dev);
RT_RF_POWER_STATE rtState;
rtState = priv->eRFPowerState;
@ -3202,12 +3200,12 @@ void ieee80211_ips_leave_wq(struct net_device *dev)
}
}
//added by amy 090331 end
void ieee80211_ips_leave(struct net_device *dev)
void ieee80211_ips_leave(struct ieee80211_device *ieee80211)
{
struct r8192_priv *priv = (struct r8192_priv *)ieee80211_priv(dev);
down(&priv->ieee80211->ips_sem);
struct r8192_priv *priv = ieee80211_priv(ieee80211->dev);
down(&ieee80211->ips_sem);
IPSLeave(priv);
up(&priv->ieee80211->ips_sem);
up(&ieee80211->ips_sem);
}
#endif
@ -3283,11 +3281,11 @@ static void rtl819x_watchdog_wqcallback(struct work_struct *work)
// LeisurePS only work in infra mode.
if(bEnterPS)
{
LeisurePSEnter(dev);
LeisurePSEnter(priv->ieee80211);
}
else
{
LeisurePSLeave(dev);
LeisurePSLeave(priv->ieee80211);
}
#endif
@ -3295,7 +3293,7 @@ static void rtl819x_watchdog_wqcallback(struct work_struct *work)
else
{
#ifdef ENABLE_LPS
LeisurePSLeave(dev);
LeisurePSLeave(priv->ieee80211);
#endif
}
@ -3449,7 +3447,7 @@ int rtl8192_down(struct net_device *dev)
#ifdef ENABLE_LPS
//LZM for PS-Poll AID issue. 090429
if(priv->ieee80211->state == IEEE80211_LINKED)
LeisurePSLeave(dev);
LeisurePSLeave(priv->ieee80211);
#endif
priv->up=0;

View File

@ -1006,7 +1006,7 @@ static int r8192_wx_adapter_power_status(struct net_device *dev,
} else {
//LZM for PS-Poll AID issue. 090429
if(priv->ieee80211->state == IEEE80211_LINKED)
LeisurePSLeave(dev);
LeisurePSLeave(priv->ieee80211);
priv->ps_force = true;
pPSC->bLeisurePs = false;