aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorIvan Safonov <insafonov@gmail.com>2016-09-18 13:28:06 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-09-20 07:33:49 -0400
commit177aa53a0d11b258a6615a042380fe7abf15d780 (patch)
treec991656d5d4e68ddacf3fde987df40fd5778d2a1 /drivers/staging
parentbc15ada3dc74e2004749c3d49bcbc0debb6ec878 (diff)
staging: r8188eu: remove GET_HAL_DATA macro
GET_HAL_DATA replaced by its definition. Signed-off-by: Ivan Safonov <insafonov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/rtl8188eu/core/rtw_sreset.c9
-rw-r--r--drivers/staging/rtl8188eu/hal/bb_cfg.c13
-rw-r--r--drivers/staging/rtl8188eu/hal/odm.c17
-rw-r--r--drivers/staging/rtl8188eu/hal/phy.c40
-rw-r--r--drivers/staging/rtl8188eu/hal/rf.c16
-rw-r--r--drivers/staging/rtl8188eu/hal/rf_cfg.c6
-rw-r--r--drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c18
-rw-r--r--drivers/staging/rtl8188eu/hal/rtl8188e_dm.c28
-rw-r--r--drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c26
-rw-r--r--drivers/staging/rtl8188eu/hal/rtl8188e_rxdesc.c4
-rw-r--r--drivers/staging/rtl8188eu/hal/rtl8188eu_led.c6
-rw-r--r--drivers/staging/rtl8188eu/hal/rtl8188eu_xmit.c22
-rw-r--r--drivers/staging/rtl8188eu/hal/usb_halinit.c91
-rw-r--r--drivers/staging/rtl8188eu/include/rtl8188e_hal.h3
-rw-r--r--drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c12
15 files changed, 124 insertions, 187 deletions
diff --git a/drivers/staging/rtl8188eu/core/rtw_sreset.c b/drivers/staging/rtl8188eu/core/rtw_sreset.c
index 5d631c515bf0..a198c5779d50 100644
--- a/drivers/staging/rtl8188eu/core/rtw_sreset.c
+++ b/drivers/staging/rtl8188eu/core/rtw_sreset.c
@@ -18,16 +18,14 @@
18 18
19void rtw_hal_sreset_init(struct adapter *padapter) 19void rtw_hal_sreset_init(struct adapter *padapter)
20{ 20{
21 struct hal_data_8188e *pHalData = GET_HAL_DATA(padapter); 21 struct sreset_priv *psrtpriv = &padapter->HalData->srestpriv;
22 struct sreset_priv *psrtpriv = &pHalData->srestpriv;
23 22
24 psrtpriv->Wifi_Error_Status = WIFI_STATUS_SUCCESS; 23 psrtpriv->Wifi_Error_Status = WIFI_STATUS_SUCCESS;
25} 24}
26 25
27u8 sreset_get_wifi_status(struct adapter *padapter) 26u8 sreset_get_wifi_status(struct adapter *padapter)
28{ 27{
29 struct hal_data_8188e *pHalData = GET_HAL_DATA(padapter); 28 struct sreset_priv *psrtpriv = &padapter->HalData->srestpriv;
30 struct sreset_priv *psrtpriv = &pHalData->srestpriv;
31 29
32 u8 status = WIFI_STATUS_SUCCESS; 30 u8 status = WIFI_STATUS_SUCCESS;
33 u32 val32 = 0; 31 u32 val32 = 0;
@@ -54,6 +52,5 @@ u8 sreset_get_wifi_status(struct adapter *padapter)
54 52
55void sreset_set_wifi_error_status(struct adapter *padapter, u32 status) 53void sreset_set_wifi_error_status(struct adapter *padapter, u32 status)
56{ 54{
57 struct hal_data_8188e *pHalData = GET_HAL_DATA(padapter); 55 padapter->HalData->srestpriv.Wifi_Error_Status = status;
58 pHalData->srestpriv.Wifi_Error_Status = status;
59} 56}
diff --git a/drivers/staging/rtl8188eu/hal/bb_cfg.c b/drivers/staging/rtl8188eu/hal/bb_cfg.c
index cce1ea259b76..c3499230c963 100644
--- a/drivers/staging/rtl8188eu/hal/bb_cfg.c
+++ b/drivers/staging/rtl8188eu/hal/bb_cfg.c
@@ -498,7 +498,7 @@ static u32 array_phy_reg_pg_8188e[] = {
498static void store_pwrindex_offset(struct adapter *adapter, 498static void store_pwrindex_offset(struct adapter *adapter,
499 u32 regaddr, u32 bitmask, u32 data) 499 u32 regaddr, u32 bitmask, u32 data)
500{ 500{
501 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapter); 501 struct hal_data_8188e *hal_data = adapter->HalData;
502 u32 * const power_level_offset = 502 u32 * const power_level_offset =
503 hal_data->MCSTxPowerLevelOriginalOffset[hal_data->pwrGroupCnt]; 503 hal_data->MCSTxPowerLevelOriginalOffset[hal_data->pwrGroupCnt];
504 504
@@ -588,11 +588,10 @@ static bool config_bb_with_pgheader(struct adapter *adapt)
588 588
589static void rtl88e_phy_init_bb_rf_register_definition(struct adapter *adapter) 589static void rtl88e_phy_init_bb_rf_register_definition(struct adapter *adapter)
590{ 590{
591 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapter);
592 struct bb_reg_def *reg[4]; 591 struct bb_reg_def *reg[4];
593 592
594 reg[RF_PATH_A] = &hal_data->PHYRegDef[RF_PATH_A]; 593 reg[RF_PATH_A] = &adapter->HalData->PHYRegDef[RF_PATH_A];
595 reg[RF_PATH_B] = &hal_data->PHYRegDef[RF_PATH_B]; 594 reg[RF_PATH_B] = &adapter->HalData->PHYRegDef[RF_PATH_B];
596 595
597 reg[RF_PATH_A]->rfintfs = rFPGA0_XAB_RFInterfaceSW; 596 reg[RF_PATH_A]->rfintfs = rFPGA0_XAB_RFInterfaceSW;
598 reg[RF_PATH_B]->rfintfs = rFPGA0_XAB_RFInterfaceSW; 597 reg[RF_PATH_B]->rfintfs = rFPGA0_XAB_RFInterfaceSW;
@@ -652,13 +651,12 @@ static void rtl88e_phy_init_bb_rf_register_definition(struct adapter *adapter)
652static bool config_parafile(struct adapter *adapt) 651static bool config_parafile(struct adapter *adapt)
653{ 652{
654 struct eeprom_priv *eeprom = GET_EEPROM_EFUSE_PRIV(adapt); 653 struct eeprom_priv *eeprom = GET_EEPROM_EFUSE_PRIV(adapt);
655 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt);
656 654
657 set_baseband_phy_config(adapt); 655 set_baseband_phy_config(adapt);
658 656
659 /* If EEPROM or EFUSE autoload OK, We must config by PHY_REG_PG.txt */ 657 /* If EEPROM or EFUSE autoload OK, We must config by PHY_REG_PG.txt */
660 if (!eeprom->bautoload_fail_flag) { 658 if (!eeprom->bautoload_fail_flag) {
661 hal_data->pwrGroupCnt = 0; 659 adapt->HalData->pwrGroupCnt = 0;
662 config_bb_with_pgheader(adapt); 660 config_bb_with_pgheader(adapt);
663 } 661 }
664 set_baseband_agc_config(adapt); 662 set_baseband_agc_config(adapt);
@@ -668,7 +666,6 @@ static bool config_parafile(struct adapter *adapt)
668bool rtl88eu_phy_bb_config(struct adapter *adapt) 666bool rtl88eu_phy_bb_config(struct adapter *adapt)
669{ 667{
670 int rtstatus = true; 668 int rtstatus = true;
671 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt);
672 u32 regval; 669 u32 regval;
673 u8 crystal_cap; 670 u8 crystal_cap;
674 671
@@ -688,7 +685,7 @@ bool rtl88eu_phy_bb_config(struct adapter *adapt)
688 rtstatus = config_parafile(adapt); 685 rtstatus = config_parafile(adapt);
689 686
690 /* write 0x24[16:11] = 0x24[22:17] = crystal_cap */ 687 /* write 0x24[16:11] = 0x24[22:17] = crystal_cap */
691 crystal_cap = hal_data->CrystalCap & 0x3F; 688 crystal_cap = adapt->HalData->CrystalCap & 0x3F;
692 phy_set_bb_reg(adapt, REG_AFE_XTAL_CTRL, 0x7ff800, 689 phy_set_bb_reg(adapt, REG_AFE_XTAL_CTRL, 0x7ff800,
693 (crystal_cap | (crystal_cap << 6))); 690 (crystal_cap | (crystal_cap << 6)));
694 691
diff --git a/drivers/staging/rtl8188eu/hal/odm.c b/drivers/staging/rtl8188eu/hal/odm.c
index d1c9ef3719a4..06774741362c 100644
--- a/drivers/staging/rtl8188eu/hal/odm.c
+++ b/drivers/staging/rtl8188eu/hal/odm.c
@@ -912,8 +912,7 @@ bool ODM_RAStateCheck(struct odm_dm_struct *pDM_Odm, s32 RSSI, bool bForceUpdate
912void odm_DynamicTxPowerInit(struct odm_dm_struct *pDM_Odm) 912void odm_DynamicTxPowerInit(struct odm_dm_struct *pDM_Odm)
913{ 913{
914 struct adapter *Adapter = pDM_Odm->Adapter; 914 struct adapter *Adapter = pDM_Odm->Adapter;
915 struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter); 915 struct dm_priv *pdmpriv = &Adapter->HalData->dmpriv;
916 struct dm_priv *pdmpriv = &pHalData->dmpriv;
917 pdmpriv->bDynamicTxPowerEnable = false; 916 pdmpriv->bDynamicTxPowerEnable = false;
918 pdmpriv->LastDTPLvl = TxHighPwrLevel_Normal; 917 pdmpriv->LastDTPLvl = TxHighPwrLevel_Normal;
919 pdmpriv->DynamicTxHighPowerLvl = TxHighPwrLevel_Normal; 918 pdmpriv->DynamicTxHighPowerLvl = TxHighPwrLevel_Normal;
@@ -938,8 +937,7 @@ void odm_RSSIMonitorCheck(struct odm_dm_struct *pDM_Odm)
938 937
939static void FindMinimumRSSI(struct adapter *pAdapter) 938static void FindMinimumRSSI(struct adapter *pAdapter)
940{ 939{
941 struct hal_data_8188e *pHalData = GET_HAL_DATA(pAdapter); 940 struct dm_priv *pdmpriv = &pAdapter->HalData->dmpriv;
942 struct dm_priv *pdmpriv = &pHalData->dmpriv;
943 941
944 /* 1 1.Unconditionally set RSSI */ 942 /* 1 1.Unconditionally set RSSI */
945 pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB; 943 pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB;
@@ -948,8 +946,7 @@ static void FindMinimumRSSI(struct adapter *pAdapter)
948void odm_RSSIMonitorCheckCE(struct odm_dm_struct *pDM_Odm) 946void odm_RSSIMonitorCheckCE(struct odm_dm_struct *pDM_Odm)
949{ 947{
950 struct adapter *Adapter = pDM_Odm->Adapter; 948 struct adapter *Adapter = pDM_Odm->Adapter;
951 struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter); 949 struct dm_priv *pdmpriv = &Adapter->HalData->dmpriv;
952 struct dm_priv *pdmpriv = &pHalData->dmpriv;
953 int i; 950 int i;
954 int tmpEntryMaxPWDB = 0, tmpEntryMinPWDB = 0xff; 951 int tmpEntryMaxPWDB = 0, tmpEntryMinPWDB = 0xff;
955 u8 sta_cnt = 0; 952 u8 sta_cnt = 0;
@@ -978,7 +975,7 @@ void odm_RSSIMonitorCheckCE(struct odm_dm_struct *pDM_Odm)
978 975
979 for (i = 0; i < sta_cnt; i++) { 976 for (i = 0; i < sta_cnt; i++) {
980 if (PWDB_rssi[i] != 0) { 977 if (PWDB_rssi[i] != 0) {
981 ODM_RA_SetRSSI_8188E(&pHalData->odmpriv, 978 ODM_RA_SetRSSI_8188E(&Adapter->HalData->odmpriv,
982 PWDB_rssi[i] & 0xFF, 979 PWDB_rssi[i] & 0xFF,
983 (PWDB_rssi[i] >> 16) & 0xFF); 980 (PWDB_rssi[i] >> 16) & 0xFF);
984 } 981 }
@@ -995,7 +992,7 @@ void odm_RSSIMonitorCheckCE(struct odm_dm_struct *pDM_Odm)
995 pdmpriv->EntryMinUndecoratedSmoothedPWDB = 0; 992 pdmpriv->EntryMinUndecoratedSmoothedPWDB = 0;
996 993
997 FindMinimumRSSI(Adapter); 994 FindMinimumRSSI(Adapter);
998 pHalData->odmpriv.RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM; 995 Adapter->HalData->odmpriv.RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM;
999} 996}
1000 997
1001/* 3============================================================ */ 998/* 3============================================================ */
@@ -1105,7 +1102,6 @@ void odm_EdcaTurboCheckCE(struct odm_dm_struct *pDM_Odm)
1105 u64 cur_tx_bytes = 0; 1102 u64 cur_tx_bytes = 0;
1106 u64 cur_rx_bytes = 0; 1103 u64 cur_rx_bytes = 0;
1107 u8 bbtchange = false; 1104 u8 bbtchange = false;
1108 struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter);
1109 struct xmit_priv *pxmitpriv = &(Adapter->xmitpriv); 1105 struct xmit_priv *pxmitpriv = &(Adapter->xmitpriv);
1110 struct recv_priv *precvpriv = &(Adapter->recvpriv); 1106 struct recv_priv *precvpriv = &(Adapter->recvpriv);
1111 struct registry_priv *pregpriv = &Adapter->registrypriv; 1107 struct registry_priv *pregpriv = &Adapter->registrypriv;
@@ -1159,7 +1155,8 @@ void odm_EdcaTurboCheckCE(struct odm_dm_struct *pDM_Odm)
1159 /* Turn Off EDCA turbo here. */ 1155 /* Turn Off EDCA turbo here. */
1160 /* Restore original EDCA according to the declaration of AP. */ 1156 /* Restore original EDCA according to the declaration of AP. */
1161 if (pDM_Odm->DM_EDCA_Table.bCurrentTurboEDCA) { 1157 if (pDM_Odm->DM_EDCA_Table.bCurrentTurboEDCA) {
1162 usb_write32(Adapter, REG_EDCA_BE_PARAM, pHalData->AcParam_BE); 1158 usb_write32(Adapter, REG_EDCA_BE_PARAM,
1159 Adapter->HalData->AcParam_BE);
1163 pDM_Odm->DM_EDCA_Table.bCurrentTurboEDCA = false; 1160 pDM_Odm->DM_EDCA_Table.bCurrentTurboEDCA = false;
1164 } 1161 }
1165 } 1162 }
diff --git a/drivers/staging/rtl8188eu/hal/phy.c b/drivers/staging/rtl8188eu/hal/phy.c
index 776e5b83b99f..4e3c2e6f04f9 100644
--- a/drivers/staging/rtl8188eu/hal/phy.c
+++ b/drivers/staging/rtl8188eu/hal/phy.c
@@ -65,8 +65,7 @@ static u32 rf_serial_read(struct adapter *adapt,
65 enum rf_radio_path rfpath, u32 offset) 65 enum rf_radio_path rfpath, u32 offset)
66{ 66{
67 u32 ret = 0; 67 u32 ret = 0;
68 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 68 struct bb_reg_def *phyreg = &adapt->HalData->PHYRegDef[rfpath];
69 struct bb_reg_def *phyreg = &hal_data->PHYRegDef[rfpath];
70 u32 tmplong, tmplong2; 69 u32 tmplong, tmplong2;
71 u8 rfpi_enable = 0; 70 u8 rfpi_enable = 0;
72 71
@@ -110,8 +109,7 @@ static void rf_serial_write(struct adapter *adapt,
110 u32 data) 109 u32 data)
111{ 110{
112 u32 data_and_addr = 0; 111 u32 data_and_addr = 0;
113 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 112 struct bb_reg_def *phyreg = &adapt->HalData->PHYRegDef[rfpath];
114 struct bb_reg_def *phyreg = &hal_data->PHYRegDef[rfpath];
115 113
116 offset &= 0xff; 114 offset &= 0xff;
117 data_and_addr = ((offset<<20) | (data&0x000fffff)) & 0x0fffffff; 115 data_and_addr = ((offset<<20) | (data&0x000fffff)) & 0x0fffffff;
@@ -147,7 +145,7 @@ void phy_set_rf_reg(struct adapter *adapt, enum rf_radio_path rf_path,
147static void get_tx_power_index(struct adapter *adapt, u8 channel, u8 *cck_pwr, 145static void get_tx_power_index(struct adapter *adapt, u8 channel, u8 *cck_pwr,
148 u8 *ofdm_pwr, u8 *bw20_pwr, u8 *bw40_pwr) 146 u8 *ofdm_pwr, u8 *bw20_pwr, u8 *bw40_pwr)
149{ 147{
150 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 148 struct hal_data_8188e *hal_data = adapt->HalData;
151 u8 index = (channel - 1); 149 u8 index = (channel - 1);
152 u8 TxCount = 0, path_nums; 150 u8 TxCount = 0, path_nums;
153 151
@@ -183,7 +181,7 @@ static void phy_power_index_check(struct adapter *adapt, u8 channel,
183 u8 *cck_pwr, u8 *ofdm_pwr, u8 *bw20_pwr, 181 u8 *cck_pwr, u8 *ofdm_pwr, u8 *bw20_pwr,
184 u8 *bw40_pwr) 182 u8 *bw40_pwr)
185{ 183{
186 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 184 struct hal_data_8188e *hal_data = adapt->HalData;
187 185
188 hal_data->CurrentCckTxPwrIdx = cck_pwr[0]; 186 hal_data->CurrentCckTxPwrIdx = cck_pwr[0];
189 hal_data->CurrentOfdm24GTxPwrIdx = ofdm_pwr[0]; 187 hal_data->CurrentOfdm24GTxPwrIdx = ofdm_pwr[0];
@@ -211,7 +209,7 @@ void phy_set_tx_power_level(struct adapter *adapt, u8 channel)
211 209
212static void phy_set_bw_mode_callback(struct adapter *adapt) 210static void phy_set_bw_mode_callback(struct adapter *adapt)
213{ 211{
214 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 212 struct hal_data_8188e *hal_data = adapt->HalData;
215 u8 reg_bw_opmode; 213 u8 reg_bw_opmode;
216 u8 reg_prsr_rsc; 214 u8 reg_prsr_rsc;
217 215
@@ -277,7 +275,7 @@ static void phy_set_bw_mode_callback(struct adapter *adapt)
277void rtw_hal_set_bwmode(struct adapter *adapt, enum ht_channel_width bandwidth, 275void rtw_hal_set_bwmode(struct adapter *adapt, enum ht_channel_width bandwidth,
278 unsigned char offset) 276 unsigned char offset)
279{ 277{
280 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 278 struct hal_data_8188e *hal_data = adapt->HalData;
281 enum ht_channel_width tmp_bw = hal_data->CurrentChannelBW; 279 enum ht_channel_width tmp_bw = hal_data->CurrentChannelBW;
282 280
283 hal_data->CurrentChannelBW = bandwidth; 281 hal_data->CurrentChannelBW = bandwidth;
@@ -293,7 +291,7 @@ static void phy_sw_chnl_callback(struct adapter *adapt, u8 channel)
293{ 291{
294 u8 rf_path; 292 u8 rf_path;
295 u32 param1, param2; 293 u32 param1, param2;
296 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 294 struct hal_data_8188e *hal_data = adapt->HalData;
297 295
298 phy_set_tx_power_level(adapt, channel); 296 phy_set_tx_power_level(adapt, channel);
299 297
@@ -309,7 +307,7 @@ static void phy_sw_chnl_callback(struct adapter *adapt, u8 channel)
309 307
310void rtw_hal_set_chan(struct adapter *adapt, u8 channel) 308void rtw_hal_set_chan(struct adapter *adapt, u8 channel)
311{ 309{
312 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 310 struct hal_data_8188e *hal_data = adapt->HalData;
313 u8 tmpchannel = hal_data->CurrentChannel; 311 u8 tmpchannel = hal_data->CurrentChannel;
314 312
315 if (hal_data->rf_chip == RF_PSEUDO_11N) 313 if (hal_data->rf_chip == RF_PSEUDO_11N)
@@ -404,7 +402,7 @@ static void dm_txpwr_track_setpwr(struct odm_dm_struct *dm_odm)
404 402
405void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt) 403void rtl88eu_dm_txpower_tracking_callback_thermalmeter(struct adapter *adapt)
406{ 404{
407 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 405 struct hal_data_8188e *hal_data = adapt->HalData;
408 u8 thermal_val = 0, delta, delta_lck, delta_iqk, offset; 406 u8 thermal_val = 0, delta, delta_lck, delta_iqk, offset;
409 u8 thermal_avg_count = 0; 407 u8 thermal_avg_count = 0;
410 u32 thermal_avg = 0; 408 u32 thermal_avg = 0;
@@ -629,8 +627,7 @@ static u8 phy_path_a_rx_iqk(struct adapter *adapt, bool configPathB)
629{ 627{
630 u32 reg_eac, reg_e94, reg_e9c, reg_ea4, u4tmp; 628 u32 reg_eac, reg_e94, reg_e9c, reg_ea4, u4tmp;
631 u8 result = 0x00; 629 u8 result = 0x00;
632 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 630 struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
633 struct odm_dm_struct *dm_odm = &hal_data->odmpriv;
634 631
635 /* 1 Get TXIMR setting */ 632 /* 1 Get TXIMR setting */
636 /* modify RXIQK mode table */ 633 /* modify RXIQK mode table */
@@ -734,8 +731,7 @@ static u8 phy_path_b_iqk(struct adapter *adapt)
734{ 731{
735 u32 regeac, regeb4, regebc, regec4, regecc; 732 u32 regeac, regeb4, regebc, regec4, regecc;
736 u8 result = 0x00; 733 u8 result = 0x00;
737 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 734 struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
738 struct odm_dm_struct *dm_odm = &hal_data->odmpriv;
739 735
740 /* One shot, path B LOK & IQK */ 736 /* One shot, path B LOK & IQK */
741 phy_set_bb_reg(adapt, rIQK_AGC_Cont, bMaskDWord, 0x00000002); 737 phy_set_bb_reg(adapt, rIQK_AGC_Cont, bMaskDWord, 0x00000002);
@@ -951,8 +947,7 @@ static bool simularity_compare(struct adapter *adapt, s32 resulta[][8],
951 u8 c1, u8 c2) 947 u8 c1, u8 c2)
952{ 948{
953 u32 i, j, diff, sim_bitmap = 0, bound; 949 u32 i, j, diff, sim_bitmap = 0, bound;
954 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 950 struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
955 struct odm_dm_struct *dm_odm = &hal_data->odmpriv;
956 u8 final_candidate[2] = {0xFF, 0xFF}; /* for path A and path B */ 951 u8 final_candidate[2] = {0xFF, 0xFF}; /* for path A and path B */
957 bool result = true; 952 bool result = true;
958 s32 tmp1 = 0, tmp2 = 0; 953 s32 tmp1 = 0, tmp2 = 0;
@@ -1030,8 +1025,7 @@ static bool simularity_compare(struct adapter *adapt, s32 resulta[][8],
1030static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8], 1025static void phy_iq_calibrate(struct adapter *adapt, s32 result[][8],
1031 u8 t, bool is2t) 1026 u8 t, bool is2t)
1032{ 1027{
1033 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 1028 struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
1034 struct odm_dm_struct *dm_odm = &hal_data->odmpriv;
1035 u32 i; 1029 u32 i;
1036 u8 path_a_ok, path_b_ok; 1030 u8 path_a_ok, path_b_ok;
1037 u32 adda_reg[IQK_ADDA_REG_NUM] = { 1031 u32 adda_reg[IQK_ADDA_REG_NUM] = {
@@ -1276,8 +1270,7 @@ static void phy_lc_calibrate(struct adapter *adapt, bool is2t)
1276 1270
1277void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery) 1271void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
1278{ 1272{
1279 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 1273 struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
1280 struct odm_dm_struct *dm_odm = &hal_data->odmpriv;
1281 s32 result[4][8]; 1274 s32 result[4][8];
1282 u8 i, final, chn_index; 1275 u8 i, final, chn_index;
1283 bool pathaok, pathbok; 1276 bool pathaok, pathbok;
@@ -1388,7 +1381,7 @@ void rtl88eu_phy_iq_calibrate(struct adapter *adapt, bool recovery)
1388 (reg_ec4 == 0)); 1381 (reg_ec4 == 0));
1389 } 1382 }
1390 1383
1391 chn_index = get_right_chnl_for_iqk(hal_data->CurrentChannel); 1384 chn_index = get_right_chnl_for_iqk(adapt->HalData->CurrentChannel);
1392 1385
1393 if (final < 4) { 1386 if (final < 4) {
1394 for (i = 0; i < IQK_Matrix_REG_NUM; i++) 1387 for (i = 0; i < IQK_Matrix_REG_NUM; i++)
@@ -1404,8 +1397,7 @@ void rtl88eu_phy_lc_calibrate(struct adapter *adapt)
1404{ 1397{
1405 bool singletone = false, carrier_sup = false; 1398 bool singletone = false, carrier_sup = false;
1406 u32 timeout = 2000, timecount = 0; 1399 u32 timeout = 2000, timecount = 0;
1407 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 1400 struct odm_dm_struct *dm_odm = &adapt->HalData->odmpriv;
1408 struct odm_dm_struct *dm_odm = &hal_data->odmpriv;
1409 1401
1410 if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION)) 1402 if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION))
1411 return; 1403 return;
diff --git a/drivers/staging/rtl8188eu/hal/rf.c b/drivers/staging/rtl8188eu/hal/rf.c
index 1596274eefc5..2f3edf0f850a 100644
--- a/drivers/staging/rtl8188eu/hal/rf.c
+++ b/drivers/staging/rtl8188eu/hal/rf.c
@@ -22,7 +22,7 @@
22void rtl88eu_phy_rf6052_set_bandwidth(struct adapter *adapt, 22void rtl88eu_phy_rf6052_set_bandwidth(struct adapter *adapt,
23 enum ht_channel_width bandwidth) 23 enum ht_channel_width bandwidth)
24{ 24{
25 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 25 struct hal_data_8188e *hal_data = adapt->HalData;
26 26
27 switch (bandwidth) { 27 switch (bandwidth) {
28 case HT_CHANNEL_WIDTH_20: 28 case HT_CHANNEL_WIDTH_20:
@@ -44,7 +44,7 @@ void rtl88eu_phy_rf6052_set_bandwidth(struct adapter *adapt,
44 44
45void rtl88eu_phy_rf6052_set_cck_txpower(struct adapter *adapt, u8 *powerlevel) 45void rtl88eu_phy_rf6052_set_cck_txpower(struct adapter *adapt, u8 *powerlevel)
46{ 46{
47 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 47 struct hal_data_8188e *hal_data = adapt->HalData;
48 struct dm_priv *pdmpriv = &hal_data->dmpriv; 48 struct dm_priv *pdmpriv = &hal_data->dmpriv;
49 struct mlme_ext_priv *pmlmeext = &adapt->mlmeextpriv; 49 struct mlme_ext_priv *pmlmeext = &adapt->mlmeextpriv;
50 u32 tx_agc[2] = {0, 0}, tmpval = 0, pwrtrac_value; 50 u32 tx_agc[2] = {0, 0}, tmpval = 0, pwrtrac_value;
@@ -129,7 +129,6 @@ static void getpowerbase88e(struct adapter *adapt, u8 *pwr_level_ofdm,
129 u8 *pwr_level_bw20, u8 *pwr_level_bw40, 129 u8 *pwr_level_bw20, u8 *pwr_level_bw40,
130 u8 channel, u32 *ofdmbase, u32 *mcs_base) 130 u8 channel, u32 *ofdmbase, u32 *mcs_base)
131{ 131{
132 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt);
133 u32 powerbase0, powerbase1; 132 u32 powerbase0, powerbase1;
134 u8 i, powerlevel[2]; 133 u8 i, powerlevel[2];
135 134
@@ -140,9 +139,9 @@ static void getpowerbase88e(struct adapter *adapt, u8 *pwr_level_ofdm,
140 (powerbase0<<8) | powerbase0; 139 (powerbase0<<8) | powerbase0;
141 *(ofdmbase+i) = powerbase0; 140 *(ofdmbase+i) = powerbase0;
142 } 141 }
143 for (i = 0; i < hal_data->NumTotalRFPath; i++) { 142 for (i = 0; i < adapt->HalData->NumTotalRFPath; i++) {
144 /* Check HT20 to HT40 diff */ 143 /* Check HT20 to HT40 diff */
145 if (hal_data->CurrentChannelBW == HT_CHANNEL_WIDTH_20) 144 if (adapt->HalData->CurrentChannelBW == HT_CHANNEL_WIDTH_20)
146 powerlevel[i] = pwr_level_bw20[i]; 145 powerlevel[i] = pwr_level_bw20[i];
147 else 146 else
148 powerlevel[i] = pwr_level_bw40[i]; 147 powerlevel[i] = pwr_level_bw40[i];
@@ -156,7 +155,7 @@ static void get_rx_power_val_by_reg(struct adapter *adapt, u8 channel,
156 u8 index, u32 *powerbase0, u32 *powerbase1, 155 u8 index, u32 *powerbase0, u32 *powerbase1,
157 u32 *out_val) 156 u32 *out_val)
158{ 157{
159 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 158 struct hal_data_8188e *hal_data = adapt->HalData;
160 struct dm_priv *pdmpriv = &hal_data->dmpriv; 159 struct dm_priv *pdmpriv = &hal_data->dmpriv;
161 u8 i, chnlGroup = 0, pwr_diff_limit[4], customer_pwr_limit; 160 u8 i, chnlGroup = 0, pwr_diff_limit[4], customer_pwr_limit;
162 s8 pwr_diff = 0; 161 s8 pwr_diff = 0;
@@ -286,7 +285,6 @@ void rtl88eu_phy_rf6052_set_ofdm_txpower(struct adapter *adapt,
286 u8 *pwr_level_bw20, 285 u8 *pwr_level_bw20,
287 u8 *pwr_level_bw40, u8 channel) 286 u8 *pwr_level_bw40, u8 channel)
288{ 287{
289 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt);
290 u32 write_val[2], powerbase0[2], powerbase1[2], pwrtrac_value; 288 u32 write_val[2], powerbase0[2], powerbase1[2], pwrtrac_value;
291 u8 direction; 289 u8 direction;
292 u8 index = 0; 290 u8 index = 0;
@@ -294,8 +292,8 @@ void rtl88eu_phy_rf6052_set_ofdm_txpower(struct adapter *adapt,
294 getpowerbase88e(adapt, pwr_level_ofdm, pwr_level_bw20, pwr_level_bw40, 292 getpowerbase88e(adapt, pwr_level_ofdm, pwr_level_bw20, pwr_level_bw40,
295 channel, &powerbase0[0], &powerbase1[0]); 293 channel, &powerbase0[0], &powerbase1[0]);
296 294
297 rtl88eu_dm_txpower_track_adjust(&hal_data->odmpriv, 0, &direction, 295 rtl88eu_dm_txpower_track_adjust(&adapt->HalData->odmpriv, 0,
298 &pwrtrac_value); 296 &direction, &pwrtrac_value);
299 297
300 for (index = 0; index < 6; index++) { 298 for (index = 0; index < 6; index++) {
301 get_rx_power_val_by_reg(adapt, channel, index, 299 get_rx_power_val_by_reg(adapt, channel, index,
diff --git a/drivers/staging/rtl8188eu/hal/rf_cfg.c b/drivers/staging/rtl8188eu/hal/rf_cfg.c
index 453f9e729067..dc26ad308fff 100644
--- a/drivers/staging/rtl8188eu/hal/rf_cfg.c
+++ b/drivers/staging/rtl8188eu/hal/rf_cfg.c
@@ -19,7 +19,7 @@
19 19
20static bool check_condition(struct adapter *adapt, const u32 condition) 20static bool check_condition(struct adapter *adapt, const u32 condition)
21{ 21{
22 struct odm_dm_struct *odm = &GET_HAL_DATA(adapt)->odmpriv; 22 struct odm_dm_struct *odm = &adapt->HalData->odmpriv;
23 u32 _board = odm->BoardType; 23 u32 _board = odm->BoardType;
24 u32 _platform = odm->SupportPlatform; 24 u32 _platform = odm->SupportPlatform;
25 u32 _interface = odm->SupportInterface; 25 u32 _interface = odm->SupportInterface;
@@ -228,7 +228,7 @@ static bool rtl88e_phy_config_rf_with_headerfile(struct adapter *adapt)
228 228
229static bool rf6052_conf_para(struct adapter *adapt) 229static bool rf6052_conf_para(struct adapter *adapt)
230{ 230{
231 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 231 struct hal_data_8188e *hal_data = adapt->HalData;
232 u32 u4val = 0; 232 u32 u4val = 0;
233 u8 rfpath; 233 u8 rfpath;
234 bool rtstatus = true; 234 bool rtstatus = true;
@@ -299,7 +299,7 @@ static bool rf6052_conf_para(struct adapter *adapt)
299 299
300static bool rtl88e_phy_rf6052_config(struct adapter *adapt) 300static bool rtl88e_phy_rf6052_config(struct adapter *adapt)
301{ 301{
302 struct hal_data_8188e *hal_data = GET_HAL_DATA(adapt); 302 struct hal_data_8188e *hal_data = adapt->HalData;
303 303
304 if (hal_data->rf_type == RF_1T1R) 304 if (hal_data->rf_type == RF_1T1R)
305 hal_data->NumTotalRFPath = 1; 305 hal_data->NumTotalRFPath = 1;
diff --git a/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c b/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c
index 18f69b83506f..4e7cef3e66c8 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c
@@ -60,7 +60,6 @@ static s32 FillH2CCmd_88E(struct adapter *adapt, u8 ElementID, u32 CmdLen, u8 *p
60 u8 h2c_box_num; 60 u8 h2c_box_num;
61 u32 msgbox_addr; 61 u32 msgbox_addr;
62 u32 msgbox_ex_addr; 62 u32 msgbox_ex_addr;
63 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt);
64 u8 cmd_idx, ext_cmd_len; 63 u8 cmd_idx, ext_cmd_len;
65 u32 h2c_cmd = 0; 64 u32 h2c_cmd = 0;
66 u32 h2c_cmd_ex = 0; 65 u32 h2c_cmd_ex = 0;
@@ -81,7 +80,7 @@ static s32 FillH2CCmd_88E(struct adapter *adapt, u8 ElementID, u32 CmdLen, u8 *p
81 80
82 /* pay attention to if race condition happened in H2C cmd setting. */ 81 /* pay attention to if race condition happened in H2C cmd setting. */
83 do { 82 do {
84 h2c_box_num = haldata->LastHMEBoxNum; 83 h2c_box_num = adapt->HalData->LastHMEBoxNum;
85 84
86 if (!_is_fw_read_cmd_down(adapt, h2c_box_num)) { 85 if (!_is_fw_read_cmd_down(adapt, h2c_box_num)) {
87 DBG_88E(" fw read cmd failed...\n"); 86 DBG_88E(" fw read cmd failed...\n");
@@ -110,7 +109,8 @@ static s32 FillH2CCmd_88E(struct adapter *adapt, u8 ElementID, u32 CmdLen, u8 *p
110 } 109 }
111 bcmd_down = true; 110 bcmd_down = true;
112 111
113 haldata->LastHMEBoxNum = (h2c_box_num+1) % RTL88E_MAX_H2C_BOX_NUMS; 112 adapt->HalData->LastHMEBoxNum =
113 (h2c_box_num+1) % RTL88E_MAX_H2C_BOX_NUMS;
114 114
115 } while ((!bcmd_down) && (retry_cnts--)); 115 } while ((!bcmd_down) && (retry_cnts--));
116 116
@@ -128,7 +128,7 @@ exit:
128/* arg[5] = Short GI */ 128/* arg[5] = Short GI */
129void rtw_hal_add_ra_tid(struct adapter *pAdapter, u32 bitmap, u8 arg, u8 rssi_level) 129void rtw_hal_add_ra_tid(struct adapter *pAdapter, u32 bitmap, u8 arg, u8 rssi_level)
130{ 130{
131 struct hal_data_8188e *haldata = GET_HAL_DATA(pAdapter); 131 struct odm_dm_struct *odmpriv = &pAdapter->HalData->odmpriv;
132 132
133 u8 macid, init_rate, raid, shortGIrate = false; 133 u8 macid, init_rate, raid, shortGIrate = false;
134 134
@@ -138,7 +138,7 @@ void rtw_hal_add_ra_tid(struct adapter *pAdapter, u32 bitmap, u8 arg, u8 rssi_le
138 bitmap &= 0x0fffffff; 138 bitmap &= 0x0fffffff;
139 139
140 if (rssi_level != DM_RATR_STA_INIT) 140 if (rssi_level != DM_RATR_STA_INIT)
141 bitmap = ODM_Get_Rate_Bitmap(&haldata->odmpriv, macid, bitmap, rssi_level); 141 bitmap = ODM_Get_Rate_Bitmap(odmpriv, macid, bitmap, rssi_level);
142 142
143 bitmap |= ((raid<<28)&0xf0000000); 143 bitmap |= ((raid<<28)&0xf0000000);
144 144
@@ -156,7 +156,7 @@ void rtw_hal_add_ra_tid(struct adapter *pAdapter, u32 bitmap, u8 arg, u8 rssi_le
156 DBG_88E("%s=> mac_id:%d, raid:%d, ra_bitmap=0x%x, shortGIrate=0x%02x\n", 156 DBG_88E("%s=> mac_id:%d, raid:%d, ra_bitmap=0x%x, shortGIrate=0x%02x\n",
157 __func__, macid, raid, bitmap, shortGIrate); 157 __func__, macid, raid, bitmap, shortGIrate);
158 158
159 ODM_RA_UpdateRateInfo_8188E(&(haldata->odmpriv), macid, raid, bitmap, shortGIrate); 159 ODM_RA_UpdateRateInfo_8188E(odmpriv, macid, raid, bitmap, shortGIrate);
160} 160}
161 161
162void rtl8188e_set_FwPwrMode_cmd(struct adapter *adapt, u8 Mode) 162void rtl8188e_set_FwPwrMode_cmd(struct adapter *adapt, u8 Mode)
@@ -445,7 +445,6 @@ static void ConstructProbeRsp(struct adapter *adapt, u8 *pframe, u32 *pLength, u
445/* 2009.10.15 by tynli. */ 445/* 2009.10.15 by tynli. */
446static void SetFwRsvdPagePkt(struct adapter *adapt, bool bDLFinished) 446static void SetFwRsvdPagePkt(struct adapter *adapt, bool bDLFinished)
447{ 447{
448 struct hal_data_8188e *haldata;
449 struct xmit_frame *pmgntframe; 448 struct xmit_frame *pmgntframe;
450 struct pkt_attrib *pattrib; 449 struct pkt_attrib *pattrib;
451 struct xmit_priv *pxmitpriv; 450 struct xmit_priv *pxmitpriv;
@@ -467,7 +466,6 @@ static void SetFwRsvdPagePkt(struct adapter *adapt, bool bDLFinished)
467 return; 466 return;
468 } 467 }
469 468
470 haldata = GET_HAL_DATA(adapt);
471 pxmitpriv = &adapt->xmitpriv; 469 pxmitpriv = &adapt->xmitpriv;
472 pmlmeext = &adapt->mlmeextpriv; 470 pmlmeext = &adapt->mlmeextpriv;
473 pmlmeinfo = &pmlmeext->mlmext_info; 471 pmlmeinfo = &pmlmeext->mlmext_info;
@@ -487,7 +485,7 @@ static void SetFwRsvdPagePkt(struct adapter *adapt, bool bDLFinished)
487 if (PageNeed == 1) 485 if (PageNeed == 1)
488 PageNeed += 1; 486 PageNeed += 1;
489 PageNum += PageNeed; 487 PageNum += PageNeed;
490 haldata->FwRsvdPageStartOffset = PageNum; 488 adapt->HalData->FwRsvdPageStartOffset = PageNum;
491 489
492 BufIndex += PageNeed*128; 490 BufIndex += PageNeed*128;
493 491
@@ -554,7 +552,7 @@ exit:
554 552
555void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus) 553void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus)
556{ 554{
557 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 555 struct hal_data_8188e *haldata = adapt->HalData;
558 struct mlme_ext_priv *pmlmeext = &(adapt->mlmeextpriv); 556 struct mlme_ext_priv *pmlmeext = &(adapt->mlmeextpriv);
559 struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); 557 struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
560 bool bSendBeacon = false; 558 bool bSendBeacon = false;
diff --git a/drivers/staging/rtl8188eu/hal/rtl8188e_dm.c b/drivers/staging/rtl8188eu/hal/rtl8188e_dm.c
index 0c853fc0d805..964b16970628 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188e_dm.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188e_dm.c
@@ -42,7 +42,7 @@ static void dm_InitGPIOSetting(struct adapter *Adapter)
42/* */ 42/* */
43static void Init_ODM_ComInfo_88E(struct adapter *Adapter) 43static void Init_ODM_ComInfo_88E(struct adapter *Adapter)
44{ 44{
45 struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter); 45 struct hal_data_8188e *hal_data = Adapter->HalData;
46 struct dm_priv *pdmpriv = &hal_data->dmpriv; 46 struct dm_priv *pdmpriv = &hal_data->dmpriv;
47 struct odm_dm_struct *dm_odm = &(hal_data->odmpriv); 47 struct odm_dm_struct *dm_odm = &(hal_data->odmpriv);
48 48
@@ -83,7 +83,7 @@ static void Update_ODM_ComInfo_88E(struct adapter *Adapter)
83 struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv; 83 struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv;
84 struct mlme_priv *pmlmepriv = &Adapter->mlmepriv; 84 struct mlme_priv *pmlmepriv = &Adapter->mlmepriv;
85 struct pwrctrl_priv *pwrctrlpriv = &Adapter->pwrctrlpriv; 85 struct pwrctrl_priv *pwrctrlpriv = &Adapter->pwrctrlpriv;
86 struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter); 86 struct hal_data_8188e *hal_data = Adapter->HalData;
87 struct odm_dm_struct *dm_odm = &(hal_data->odmpriv); 87 struct odm_dm_struct *dm_odm = &(hal_data->odmpriv);
88 struct dm_priv *pdmpriv = &hal_data->dmpriv; 88 struct dm_priv *pdmpriv = &hal_data->dmpriv;
89 int i; 89 int i;
@@ -133,9 +133,8 @@ static void Update_ODM_ComInfo_88E(struct adapter *Adapter)
133 133
134void rtl8188e_InitHalDm(struct adapter *Adapter) 134void rtl8188e_InitHalDm(struct adapter *Adapter)
135{ 135{
136 struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter); 136 struct dm_priv *pdmpriv = &Adapter->HalData->dmpriv;
137 struct dm_priv *pdmpriv = &hal_data->dmpriv; 137 struct odm_dm_struct *dm_odm = &(Adapter->HalData->odmpriv);
138 struct odm_dm_struct *dm_odm = &(hal_data->odmpriv);
139 138
140 dm_InitGPIOSetting(Adapter); 139 dm_InitGPIOSetting(Adapter);
141 pdmpriv->DM_Type = DM_Type_ByDriver; 140 pdmpriv->DM_Type = DM_Type_ByDriver;
@@ -147,7 +146,6 @@ void rtl8188e_InitHalDm(struct adapter *Adapter)
147void rtw_hal_dm_watchdog(struct adapter *Adapter) 146void rtw_hal_dm_watchdog(struct adapter *Adapter)
148{ 147{
149 u8 hw_init_completed = false; 148 u8 hw_init_completed = false;
150 struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter);
151 struct mlme_priv *pmlmepriv = NULL; 149 struct mlme_priv *pmlmepriv = NULL;
152 u8 bLinked = false; 150 u8 bLinked = false;
153 151
@@ -169,8 +167,8 @@ void rtw_hal_dm_watchdog(struct adapter *Adapter)
169 bLinked = true; 167 bLinked = true;
170 } 168 }
171 169
172 hal_data->odmpriv.bLinked = bLinked; 170 Adapter->HalData->odmpriv.bLinked = bLinked;
173 ODM_DMWatchdog(&hal_data->odmpriv); 171 ODM_DMWatchdog(&Adapter->HalData->odmpriv);
174skip_dm: 172skip_dm:
175 /* Check GPIO to determine current RF on/off and Pbc status. */ 173 /* Check GPIO to determine current RF on/off and Pbc status. */
176 /* Check Hardware Radio ON/OFF or not */ 174 /* Check Hardware Radio ON/OFF or not */
@@ -179,9 +177,8 @@ skip_dm:
179 177
180void rtw_hal_dm_init(struct adapter *Adapter) 178void rtw_hal_dm_init(struct adapter *Adapter)
181{ 179{
182 struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter); 180 struct dm_priv *pdmpriv = &Adapter->HalData->dmpriv;
183 struct dm_priv *pdmpriv = &hal_data->dmpriv; 181 struct odm_dm_struct *podmpriv = &Adapter->HalData->odmpriv;
184 struct odm_dm_struct *podmpriv = &hal_data->odmpriv;
185 182
186 memset(pdmpriv, 0, sizeof(struct dm_priv)); 183 memset(pdmpriv, 0, sizeof(struct dm_priv));
187 Init_ODM_ComInfo_88E(Adapter); 184 Init_ODM_ComInfo_88E(Adapter);
@@ -192,9 +189,7 @@ void rtw_hal_dm_init(struct adapter *Adapter)
192/* Compare RSSI for deciding antenna */ 189/* Compare RSSI for deciding antenna */
193void rtw_hal_antdiv_rssi_compared(struct adapter *Adapter, struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src) 190void rtw_hal_antdiv_rssi_compared(struct adapter *Adapter, struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src)
194{ 191{
195 struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter); 192 if (0 != Adapter->HalData->AntDivCfg) {
196
197 if (0 != hal_data->AntDivCfg) {
198 /* select optimum_antenna for before linked =>For antenna diversity */ 193 /* select optimum_antenna for before linked =>For antenna diversity */
199 if (dst->Rssi >= src->Rssi) {/* keep org parameter */ 194 if (dst->Rssi >= src->Rssi) {/* keep org parameter */
200 src->Rssi = dst->Rssi; 195 src->Rssi = dst->Rssi;
@@ -206,13 +201,12 @@ void rtw_hal_antdiv_rssi_compared(struct adapter *Adapter, struct wlan_bssid_ex
206/* Add new function to reset the state of antenna diversity before link. */ 201/* Add new function to reset the state of antenna diversity before link. */
207u8 rtw_hal_antdiv_before_linked(struct adapter *Adapter) 202u8 rtw_hal_antdiv_before_linked(struct adapter *Adapter)
208{ 203{
209 struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter); 204 struct odm_dm_struct *dm_odm = &Adapter->HalData->odmpriv;
210 struct odm_dm_struct *dm_odm = &hal_data->odmpriv;
211 struct sw_ant_switch *dm_swat_tbl = &dm_odm->DM_SWAT_Table; 205 struct sw_ant_switch *dm_swat_tbl = &dm_odm->DM_SWAT_Table;
212 struct mlme_priv *pmlmepriv = &(Adapter->mlmepriv); 206 struct mlme_priv *pmlmepriv = &(Adapter->mlmepriv);
213 207
214 /* Condition that does not need to use antenna diversity. */ 208 /* Condition that does not need to use antenna diversity. */
215 if (hal_data->AntDivCfg == 0) 209 if (Adapter->HalData->AntDivCfg == 0)
216 return false; 210 return false;
217 211
218 if (check_fwstate(pmlmepriv, _FW_LINKED)) 212 if (check_fwstate(pmlmepriv, _FW_LINKED))
diff --git a/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c b/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
index a1812ddd262a..a7b037564a50 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
@@ -108,13 +108,11 @@ void _8051Reset88E(struct adapter *padapter)
108 108
109void rtl8188e_InitializeFirmwareVars(struct adapter *padapter) 109void rtl8188e_InitializeFirmwareVars(struct adapter *padapter)
110{ 110{
111 struct hal_data_8188e *pHalData = GET_HAL_DATA(padapter);
112
113 /* Init Fw LPS related. */ 111 /* Init Fw LPS related. */
114 padapter->pwrctrlpriv.bFwCurrentInPSMode = false; 112 padapter->pwrctrlpriv.bFwCurrentInPSMode = false;
115 113
116 /* Init H2C counter. by tynli. 2009.12.09. */ 114 /* Init H2C counter. by tynli. 2009.12.09. */
117 pHalData->LastHMEBoxNum = 0; 115 padapter->HalData->LastHMEBoxNum = 0;
118} 116}
119 117
120void rtw_hal_free_data(struct adapter *padapter) 118void rtw_hal_free_data(struct adapter *padapter)
@@ -127,9 +125,7 @@ void rtw_hal_read_chip_version(struct adapter *padapter)
127{ 125{
128 u32 value32; 126 u32 value32;
129 struct HAL_VERSION ChipVersion; 127 struct HAL_VERSION ChipVersion;
130 struct hal_data_8188e *pHalData; 128 struct hal_data_8188e *pHalData = padapter->HalData;
131
132 pHalData = GET_HAL_DATA(padapter);
133 129
134 value32 = usb_read32(padapter, REG_SYS_CFG); 130 value32 = usb_read32(padapter, REG_SYS_CFG);
135 ChipVersion.ChipType = ((value32 & RTL_ID) ? TEST_CHIP : NORMAL_CHIP); 131 ChipVersion.ChipType = ((value32 & RTL_ID) ? TEST_CHIP : NORMAL_CHIP);
@@ -147,8 +143,8 @@ void rtw_hal_read_chip_version(struct adapter *padapter)
147 143
148void rtw_hal_set_odm_var(struct adapter *Adapter, enum hal_odm_variable eVariable, void *pValue1, bool bSet) 144void rtw_hal_set_odm_var(struct adapter *Adapter, enum hal_odm_variable eVariable, void *pValue1, bool bSet)
149{ 145{
150 struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter); 146 struct odm_dm_struct *podmpriv = &Adapter->HalData->odmpriv;
151 struct odm_dm_struct *podmpriv = &pHalData->odmpriv; 147
152 switch (eVariable) { 148 switch (eVariable) {
153 case HAL_ODM_STA_INFO: 149 case HAL_ODM_STA_INFO:
154 { 150 {
@@ -475,7 +471,7 @@ void Hal_ReadPowerSavingMode88E(struct adapter *padapter, u8 *hwinfo, bool AutoL
475 471
476void Hal_ReadTxPowerInfo88E(struct adapter *padapter, u8 *PROMContent, bool AutoLoadFail) 472void Hal_ReadTxPowerInfo88E(struct adapter *padapter, u8 *PROMContent, bool AutoLoadFail)
477{ 473{
478 struct hal_data_8188e *pHalData = GET_HAL_DATA(padapter); 474 struct hal_data_8188e *pHalData = padapter->HalData;
479 struct txpowerinfo24g pwrInfo24G; 475 struct txpowerinfo24g pwrInfo24G;
480 u8 rfPath, ch, group; 476 u8 rfPath, ch, group;
481 u8 bIn24G, TxCount; 477 u8 bIn24G, TxCount;
@@ -527,7 +523,7 @@ void Hal_ReadTxPowerInfo88E(struct adapter *padapter, u8 *PROMContent, bool Auto
527 523
528void Hal_EfuseParseXtal_8188E(struct adapter *pAdapter, u8 *hwinfo, bool AutoLoadFail) 524void Hal_EfuseParseXtal_8188E(struct adapter *pAdapter, u8 *hwinfo, bool AutoLoadFail)
529{ 525{
530 struct hal_data_8188e *pHalData = GET_HAL_DATA(pAdapter); 526 struct hal_data_8188e *pHalData = pAdapter->HalData;
531 527
532 if (!AutoLoadFail) { 528 if (!AutoLoadFail) {
533 pHalData->CrystalCap = hwinfo[EEPROM_XTAL_88E]; 529 pHalData->CrystalCap = hwinfo[EEPROM_XTAL_88E];
@@ -541,7 +537,7 @@ void Hal_EfuseParseXtal_8188E(struct adapter *pAdapter, u8 *hwinfo, bool AutoLoa
541 537
542void Hal_EfuseParseBoardType88E(struct adapter *pAdapter, u8 *hwinfo, bool AutoLoadFail) 538void Hal_EfuseParseBoardType88E(struct adapter *pAdapter, u8 *hwinfo, bool AutoLoadFail)
543{ 539{
544 struct hal_data_8188e *pHalData = GET_HAL_DATA(pAdapter); 540 struct hal_data_8188e *pHalData = pAdapter->HalData;
545 541
546 if (!AutoLoadFail) 542 if (!AutoLoadFail)
547 pHalData->BoardType = (hwinfo[EEPROM_RF_BOARD_OPTION_88E] 543 pHalData->BoardType = (hwinfo[EEPROM_RF_BOARD_OPTION_88E]
@@ -553,7 +549,7 @@ void Hal_EfuseParseBoardType88E(struct adapter *pAdapter, u8 *hwinfo, bool AutoL
553 549
554void Hal_EfuseParseEEPROMVer88E(struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail) 550void Hal_EfuseParseEEPROMVer88E(struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail)
555{ 551{
556 struct hal_data_8188e *pHalData = GET_HAL_DATA(padapter); 552 struct hal_data_8188e *pHalData = padapter->HalData;
557 553
558 if (!AutoLoadFail) { 554 if (!AutoLoadFail) {
559 pHalData->EEPROMVersion = hwinfo[EEPROM_VERSION_88E]; 555 pHalData->EEPROMVersion = hwinfo[EEPROM_VERSION_88E];
@@ -580,7 +576,7 @@ void rtl8188e_EfuseParseChnlPlan(struct adapter *padapter, u8 *hwinfo, bool Auto
580 576
581void Hal_EfuseParseCustomerID88E(struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail) 577void Hal_EfuseParseCustomerID88E(struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail)
582{ 578{
583 struct hal_data_8188e *pHalData = GET_HAL_DATA(padapter); 579 struct hal_data_8188e *pHalData = padapter->HalData;
584 580
585 if (!AutoLoadFail) { 581 if (!AutoLoadFail) {
586 pHalData->EEPROMCustomerID = hwinfo[EEPROM_CUSTOMERID_88E]; 582 pHalData->EEPROMCustomerID = hwinfo[EEPROM_CUSTOMERID_88E];
@@ -593,7 +589,7 @@ void Hal_EfuseParseCustomerID88E(struct adapter *padapter, u8 *hwinfo, bool Auto
593 589
594void Hal_ReadAntennaDiversity88E(struct adapter *pAdapter, u8 *PROMContent, bool AutoLoadFail) 590void Hal_ReadAntennaDiversity88E(struct adapter *pAdapter, u8 *PROMContent, bool AutoLoadFail)
595{ 591{
596 struct hal_data_8188e *pHalData = GET_HAL_DATA(pAdapter); 592 struct hal_data_8188e *pHalData = pAdapter->HalData;
597 struct registry_priv *registry_par = &pAdapter->registrypriv; 593 struct registry_priv *registry_par = &pAdapter->registrypriv;
598 594
599 if (!AutoLoadFail) { 595 if (!AutoLoadFail) {
@@ -626,7 +622,7 @@ void Hal_ReadAntennaDiversity88E(struct adapter *pAdapter, u8 *PROMContent, bool
626 622
627void Hal_ReadThermalMeter_88E(struct adapter *Adapter, u8 *PROMContent, bool AutoloadFail) 623void Hal_ReadThermalMeter_88E(struct adapter *Adapter, u8 *PROMContent, bool AutoloadFail)
628{ 624{
629 struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter); 625 struct hal_data_8188e *pHalData = Adapter->HalData;
630 626
631 /* ThermalMeter from EEPROM */ 627 /* ThermalMeter from EEPROM */
632 if (!AutoloadFail) 628 if (!AutoloadFail)
diff --git a/drivers/staging/rtl8188eu/hal/rtl8188e_rxdesc.c b/drivers/staging/rtl8188eu/hal/rtl8188e_rxdesc.c
index f110c961df70..8aea7104f459 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188e_rxdesc.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188e_rxdesc.c
@@ -140,7 +140,6 @@ void update_recvframe_phyinfo_88e(struct recv_frame *precvframe,
140{ 140{
141 struct adapter *padapter = precvframe->adapter; 141 struct adapter *padapter = precvframe->adapter;
142 struct rx_pkt_attrib *pattrib = &precvframe->attrib; 142 struct rx_pkt_attrib *pattrib = &precvframe->attrib;
143 struct hal_data_8188e *pHalData = GET_HAL_DATA(padapter);
144 struct odm_phy_status_info *pPHYInfo = (struct odm_phy_status_info *)(&pattrib->phy_info); 143 struct odm_phy_status_info *pPHYInfo = (struct odm_phy_status_info *)(&pattrib->phy_info);
145 u8 *wlanhdr; 144 u8 *wlanhdr;
146 struct odm_per_pkt_info pkt_info; 145 struct odm_per_pkt_info pkt_info;
@@ -181,7 +180,8 @@ void update_recvframe_phyinfo_88e(struct recv_frame *precvframe,
181 pkt_info.StationID = psta->mac_id; 180 pkt_info.StationID = psta->mac_id;
182 pkt_info.Rate = pattrib->mcs_rate; 181 pkt_info.Rate = pattrib->mcs_rate;
183 182
184 ODM_PhyStatusQuery(&pHalData->odmpriv, pPHYInfo, (u8 *)pphy_status, &(pkt_info)); 183 ODM_PhyStatusQuery(&padapter->HalData->odmpriv, pPHYInfo,
184 (u8 *)pphy_status, &(pkt_info));
185 185
186 precvframe->psta = NULL; 186 precvframe->psta = NULL;
187 if (pkt_info.bPacketMatchBSSID && 187 if (pkt_info.bPacketMatchBSSID &&
diff --git a/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c b/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c
index becf5b5eb192..780666a755ee 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c
@@ -40,14 +40,13 @@ void SwLedOn(struct adapter *padapter, struct LED_871x *pLed)
40void SwLedOff(struct adapter *padapter, struct LED_871x *pLed) 40void SwLedOff(struct adapter *padapter, struct LED_871x *pLed)
41{ 41{
42 u8 LedCfg; 42 u8 LedCfg;
43 struct hal_data_8188e *pHalData = GET_HAL_DATA(padapter);
44 43
45 if (padapter->bSurpriseRemoved || padapter->bDriverStopped) 44 if (padapter->bSurpriseRemoved || padapter->bDriverStopped)
46 goto exit; 45 goto exit;
47 46
48 LedCfg = usb_read8(padapter, REG_LEDCFG2);/* 0x4E */ 47 LedCfg = usb_read8(padapter, REG_LEDCFG2);/* 0x4E */
49 48
50 if (pHalData->bLedOpenDrain) { 49 if (padapter->HalData->bLedOpenDrain) {
51 /* Open-drain arrangement for controlling the LED) */ 50 /* Open-drain arrangement for controlling the LED) */
52 LedCfg &= 0x90; /* Set to software control. */ 51 LedCfg &= 0x90; /* Set to software control. */
53 usb_write8(padapter, REG_LEDCFG2, (LedCfg | BIT(3))); 52 usb_write8(padapter, REG_LEDCFG2, (LedCfg | BIT(3)));
@@ -69,11 +68,10 @@ exit:
69void rtw_hal_sw_led_init(struct adapter *padapter) 68void rtw_hal_sw_led_init(struct adapter *padapter)
70{ 69{
71 struct led_priv *pledpriv = &(padapter->ledpriv); 70 struct led_priv *pledpriv = &(padapter->ledpriv);
72 struct hal_data_8188e *haldata = GET_HAL_DATA(padapter);
73 71
74 pledpriv->bRegUseLed = true; 72 pledpriv->bRegUseLed = true;
75 pledpriv->LedControlHandler = LedControl8188eu; 73 pledpriv->LedControlHandler = LedControl8188eu;
76 haldata->bLedOpenDrain = true; 74 padapter->HalData->bLedOpenDrain = true;
77 75
78 InitLed871x(padapter, &(pledpriv->SwLed0)); 76 InitLed871x(padapter, &(pledpriv->SwLed0));
79} 77}
diff --git a/drivers/staging/rtl8188eu/hal/rtl8188eu_xmit.c b/drivers/staging/rtl8188eu/hal/rtl8188eu_xmit.c
index 169d6c842dc2..85650b2663ec 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188eu_xmit.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188eu_xmit.c
@@ -33,11 +33,7 @@ s32 rtw_hal_init_xmit_priv(struct adapter *adapt)
33 33
34static u8 urb_zero_packet_chk(struct adapter *adapt, int sz) 34static u8 urb_zero_packet_chk(struct adapter *adapt, int sz)
35{ 35{
36 u8 set_tx_desc_offset; 36 return !((sz + TXDESC_SIZE) % adapt->HalData->UsbBulkOutSize);
37 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt);
38 set_tx_desc_offset = (((sz + TXDESC_SIZE) % haldata->UsbBulkOutSize) == 0) ? 1 : 0;
39
40 return set_tx_desc_offset;
41} 37}
42 38
43static void rtl8188eu_cal_txdesc_chksum(struct tx_desc *ptxdesc) 39static void rtl8188eu_cal_txdesc_chksum(struct tx_desc *ptxdesc)
@@ -175,7 +171,7 @@ static s32 update_txdesc(struct xmit_frame *pxmitframe, u8 *pmem, s32 sz, u8 bag
175 u8 data_rate, pwr_status, offset; 171 u8 data_rate, pwr_status, offset;
176 struct adapter *adapt = pxmitframe->padapter; 172 struct adapter *adapt = pxmitframe->padapter;
177 struct pkt_attrib *pattrib = &pxmitframe->attrib; 173 struct pkt_attrib *pattrib = &pxmitframe->attrib;
178 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 174 struct odm_dm_struct *odmpriv = &adapt->HalData->odmpriv;
179 struct tx_desc *ptxdesc = (struct tx_desc *)pmem; 175 struct tx_desc *ptxdesc = (struct tx_desc *)pmem;
180 struct mlme_ext_priv *pmlmeext = &adapt->mlmeextpriv; 176 struct mlme_ext_priv *pmlmeext = &adapt->mlmeextpriv;
181 struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info); 177 struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
@@ -259,12 +255,12 @@ static s32 update_txdesc(struct xmit_frame *pxmitframe, u8 *pmem, s32 sz, u8 bag
259 ptxdesc->txdw5 |= cpu_to_le32(0x0001ff00);/* DATA/RTS Rate FB LMT */ 255 ptxdesc->txdw5 |= cpu_to_le32(0x0001ff00);/* DATA/RTS Rate FB LMT */
260 256
261 if (pattrib->ht_en) { 257 if (pattrib->ht_en) {
262 if (ODM_RA_GetShortGI_8188E(&haldata->odmpriv, pattrib->mac_id)) 258 if (ODM_RA_GetShortGI_8188E(odmpriv, pattrib->mac_id))
263 ptxdesc->txdw5 |= cpu_to_le32(SGI);/* SGI */ 259 ptxdesc->txdw5 |= cpu_to_le32(SGI);/* SGI */
264 } 260 }
265 data_rate = ODM_RA_GetDecisionRate_8188E(&haldata->odmpriv, pattrib->mac_id); 261 data_rate = ODM_RA_GetDecisionRate_8188E(odmpriv, pattrib->mac_id);
266 ptxdesc->txdw5 |= cpu_to_le32(data_rate & 0x3F); 262 ptxdesc->txdw5 |= cpu_to_le32(data_rate & 0x3F);
267 pwr_status = ODM_RA_GetHwPwrStatus_8188E(&haldata->odmpriv, pattrib->mac_id); 263 pwr_status = ODM_RA_GetHwPwrStatus_8188E(odmpriv, pattrib->mac_id);
268 ptxdesc->txdw4 |= cpu_to_le32((pwr_status & 0x7) << PWR_STATUS_SHT); 264 ptxdesc->txdw4 |= cpu_to_le32((pwr_status & 0x7) << PWR_STATUS_SHT);
269 } else { 265 } else {
270 /* EAP data packet and ARP packet and DHCP. */ 266 /* EAP data packet and ARP packet and DHCP. */
@@ -332,8 +328,7 @@ static s32 update_txdesc(struct xmit_frame *pxmitframe, u8 *pmem, s32 sz, u8 bag
332 ptxdesc->txdw4 |= cpu_to_le32(HW_SSN); /* Hw set sequence number */ 328 ptxdesc->txdw4 |= cpu_to_le32(HW_SSN); /* Hw set sequence number */
333 } 329 }
334 330
335 rtl88eu_dm_set_tx_ant_by_tx_info(&haldata->odmpriv, pmem, 331 rtl88eu_dm_set_tx_ant_by_tx_info(odmpriv, pmem, pattrib->mac_id);
336 pattrib->mac_id);
337 332
338 rtl8188eu_cal_txdesc_chksum(ptxdesc); 333 rtl8188eu_cal_txdesc_chksum(ptxdesc);
339 _dbg_dump_tx_info(adapt, pxmitframe->frame_tag, ptxdesc); 334 _dbg_dump_tx_info(adapt, pxmitframe->frame_tag, ptxdesc);
@@ -426,7 +421,6 @@ static u32 xmitframe_need_length(struct xmit_frame *pxmitframe)
426 421
427s32 rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmitpriv) 422s32 rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmitpriv)
428{ 423{
429 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt);
430 struct xmit_frame *pxmitframe = NULL; 424 struct xmit_frame *pxmitframe = NULL;
431 struct xmit_frame *pfirstframe = NULL; 425 struct xmit_frame *pfirstframe = NULL;
432 struct xmit_buf *pxmitbuf; 426 struct xmit_buf *pxmitbuf;
@@ -442,7 +436,7 @@ s32 rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmitp
442 u32 pbuf_tail; /* last pkt tail */ 436 u32 pbuf_tail; /* last pkt tail */
443 u32 len; /* packet length, except TXDESC_SIZE and PKT_OFFSET */ 437 u32 len; /* packet length, except TXDESC_SIZE and PKT_OFFSET */
444 438
445 u32 bulksize = haldata->UsbBulkOutSize; 439 u32 bulksize = adapt->HalData->UsbBulkOutSize;
446 u8 desc_cnt; 440 u8 desc_cnt;
447 u32 bulkptr; 441 u32 bulkptr;
448 442
@@ -563,7 +557,7 @@ s32 rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmitp
563 557
564 if (pbuf < bulkptr) { 558 if (pbuf < bulkptr) {
565 desc_cnt++; 559 desc_cnt++;
566 if (desc_cnt == haldata->UsbTxAggDescNum) 560 if (desc_cnt == adapt->HalData->UsbTxAggDescNum)
567 break; 561 break;
568 } else { 562 } else {
569 desc_cnt = 0; 563 desc_cnt = 0;
diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c
index 897e46954222..113bd0bcaf41 100644
--- a/drivers/staging/rtl8188eu/hal/usb_halinit.c
+++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c
@@ -27,7 +27,7 @@
27 27
28static void _ConfigNormalChipOutEP_8188E(struct adapter *adapt, u8 NumOutPipe) 28static void _ConfigNormalChipOutEP_8188E(struct adapter *adapt, u8 NumOutPipe)
29{ 29{
30 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 30 struct hal_data_8188e *haldata = adapt->HalData;
31 31
32 switch (NumOutPipe) { 32 switch (NumOutPipe) {
33 case 3: 33 case 3:
@@ -50,13 +50,12 @@ static void _ConfigNormalChipOutEP_8188E(struct adapter *adapt, u8 NumOutPipe)
50 50
51static bool HalUsbSetQueuePipeMapping8188EUsb(struct adapter *adapt, u8 NumInPipe, u8 NumOutPipe) 51static bool HalUsbSetQueuePipeMapping8188EUsb(struct adapter *adapt, u8 NumInPipe, u8 NumOutPipe)
52{ 52{
53 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt);
54 bool result = false; 53 bool result = false;
55 54
56 _ConfigNormalChipOutEP_8188E(adapt, NumOutPipe); 55 _ConfigNormalChipOutEP_8188E(adapt, NumOutPipe);
57 56
58 /* Normal chip with one IN and one OUT doesn't have interrupt IN EP. */ 57 /* Normal chip with one IN and one OUT doesn't have interrupt IN EP. */
59 if (haldata->OutEpNumber == 1) { 58 if (adapt->HalData->OutEpNumber == 1) {
60 if (NumInPipe != 1) 59 if (NumInPipe != 1)
61 return result; 60 return result;
62 } 61 }
@@ -70,7 +69,7 @@ static bool HalUsbSetQueuePipeMapping8188EUsb(struct adapter *adapt, u8 NumInPip
70 69
71void rtw_hal_chip_configure(struct adapter *adapt) 70void rtw_hal_chip_configure(struct adapter *adapt)
72{ 71{
73 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 72 struct hal_data_8188e *haldata = adapt->HalData;
74 struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(adapt); 73 struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(adapt);
75 74
76 if (pdvobjpriv->ishighspeed) 75 if (pdvobjpriv->ishighspeed)
@@ -97,8 +96,7 @@ u32 rtw_hal_power_on(struct adapter *adapt)
97{ 96{
98 u16 value16; 97 u16 value16;
99 /* HW Power on sequence */ 98 /* HW Power on sequence */
100 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 99 if (adapt->HalData->bMacPwrCtrlOn)
101 if (haldata->bMacPwrCtrlOn)
102 return _SUCCESS; 100 return _SUCCESS;
103 101
104 if (!rtl88eu_pwrseqcmdparsing(adapt, PWR_CUT_ALL_MSK, 102 if (!rtl88eu_pwrseqcmdparsing(adapt, PWR_CUT_ALL_MSK,
@@ -118,7 +116,7 @@ u32 rtw_hal_power_on(struct adapter *adapt)
118 /* for SDIO - Set CR bit10 to enable 32k calibration. Suggested by SD1 Gimmy. Added by tynli. 2011.08.31. */ 116 /* for SDIO - Set CR bit10 to enable 32k calibration. Suggested by SD1 Gimmy. Added by tynli. 2011.08.31. */
119 117
120 usb_write16(adapt, REG_CR, value16); 118 usb_write16(adapt, REG_CR, value16);
121 haldata->bMacPwrCtrlOn = true; 119 adapt->HalData->bMacPwrCtrlOn = true;
122 120
123 return _SUCCESS; 121 return _SUCCESS;
124} 122}
@@ -128,18 +126,17 @@ static void _InitInterrupt(struct adapter *Adapter)
128{ 126{
129 u32 imr, imr_ex; 127 u32 imr, imr_ex;
130 u8 usb_opt; 128 u8 usb_opt;
131 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter);
132 129
133 /* HISR write one to clear */ 130 /* HISR write one to clear */
134 usb_write32(Adapter, REG_HISR_88E, 0xFFFFFFFF); 131 usb_write32(Adapter, REG_HISR_88E, 0xFFFFFFFF);
135 /* HIMR - */ 132 /* HIMR - */
136 imr = IMR_PSTIMEOUT_88E | IMR_TBDER_88E | IMR_CPWM_88E | IMR_CPWM2_88E; 133 imr = IMR_PSTIMEOUT_88E | IMR_TBDER_88E | IMR_CPWM_88E | IMR_CPWM2_88E;
137 usb_write32(Adapter, REG_HIMR_88E, imr); 134 usb_write32(Adapter, REG_HIMR_88E, imr);
138 haldata->IntrMask[0] = imr; 135 Adapter->HalData->IntrMask[0] = imr;
139 136
140 imr_ex = IMR_TXERR_88E | IMR_RXERR_88E | IMR_TXFOVW_88E | IMR_RXFOVW_88E; 137 imr_ex = IMR_TXERR_88E | IMR_RXERR_88E | IMR_TXFOVW_88E | IMR_RXFOVW_88E;
141 usb_write32(Adapter, REG_HIMRE_88E, imr_ex); 138 usb_write32(Adapter, REG_HIMRE_88E, imr_ex);
142 haldata->IntrMask[1] = imr_ex; 139 Adapter->HalData->IntrMask[1] = imr_ex;
143 140
144 /* REG_USB_SPECIAL_OPTION - BIT(4) */ 141 /* REG_USB_SPECIAL_OPTION - BIT(4) */
145 /* 0; Use interrupt endpoint to upload interrupt pkt */ 142 /* 0; Use interrupt endpoint to upload interrupt pkt */
@@ -156,7 +153,6 @@ static void _InitInterrupt(struct adapter *Adapter)
156 153
157static void _InitQueueReservedPage(struct adapter *Adapter) 154static void _InitQueueReservedPage(struct adapter *Adapter)
158{ 155{
159 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter);
160 struct registry_priv *pregistrypriv = &Adapter->registrypriv; 156 struct registry_priv *pregistrypriv = &Adapter->registrypriv;
161 u32 numHQ = 0; 157 u32 numHQ = 0;
162 u32 numLQ = 0; 158 u32 numLQ = 0;
@@ -167,14 +163,14 @@ static void _InitQueueReservedPage(struct adapter *Adapter)
167 bool bWiFiConfig = pregistrypriv->wifi_spec; 163 bool bWiFiConfig = pregistrypriv->wifi_spec;
168 164
169 if (bWiFiConfig) { 165 if (bWiFiConfig) {
170 if (haldata->OutEpQueueSel & TX_SELE_HQ) 166 if (Adapter->HalData->OutEpQueueSel & TX_SELE_HQ)
171 numHQ = 0x29; 167 numHQ = 0x29;
172 168
173 if (haldata->OutEpQueueSel & TX_SELE_LQ) 169 if (Adapter->HalData->OutEpQueueSel & TX_SELE_LQ)
174 numLQ = 0x1C; 170 numLQ = 0x1C;
175 171
176 /* NOTE: This step shall be proceed before writing REG_RQPN. */ 172 /* NOTE: This step shall be proceed before writing REG_RQPN. */
177 if (haldata->OutEpQueueSel & TX_SELE_NQ) 173 if (Adapter->HalData->OutEpQueueSel & TX_SELE_NQ)
178 numNQ = 0x1C; 174 numNQ = 0x1C;
179 value8 = (u8)_NPQ(numNQ); 175 value8 = (u8)_NPQ(numNQ);
180 usb_write8(Adapter, REG_RQPN_NPQ, value8); 176 usb_write8(Adapter, REG_RQPN_NPQ, value8);
@@ -224,10 +220,9 @@ static void _InitNormalChipRegPriority(struct adapter *Adapter, u16 beQ,
224 220
225static void _InitNormalChipOneOutEpPriority(struct adapter *Adapter) 221static void _InitNormalChipOneOutEpPriority(struct adapter *Adapter)
226{ 222{
227 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter);
228
229 u16 value = 0; 223 u16 value = 0;
230 switch (haldata->OutEpQueueSel) { 224
225 switch (Adapter->HalData->OutEpQueueSel) {
231 case TX_SELE_HQ: 226 case TX_SELE_HQ:
232 value = QUEUE_HIGH; 227 value = QUEUE_HIGH;
233 break; 228 break;
@@ -246,13 +241,12 @@ static void _InitNormalChipOneOutEpPriority(struct adapter *Adapter)
246 241
247static void _InitNormalChipTwoOutEpPriority(struct adapter *Adapter) 242static void _InitNormalChipTwoOutEpPriority(struct adapter *Adapter)
248{ 243{
249 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter);
250 struct registry_priv *pregistrypriv = &Adapter->registrypriv; 244 struct registry_priv *pregistrypriv = &Adapter->registrypriv;
251 u16 beQ, bkQ, viQ, voQ, mgtQ, hiQ; 245 u16 beQ, bkQ, viQ, voQ, mgtQ, hiQ;
252 u16 valueHi = 0; 246 u16 valueHi = 0;
253 u16 valueLow = 0; 247 u16 valueLow = 0;
254 248
255 switch (haldata->OutEpQueueSel) { 249 switch (Adapter->HalData->OutEpQueueSel) {
256 case (TX_SELE_HQ | TX_SELE_LQ): 250 case (TX_SELE_HQ | TX_SELE_LQ):
257 valueHi = QUEUE_HIGH; 251 valueHi = QUEUE_HIGH;
258 valueLow = QUEUE_LOW; 252 valueLow = QUEUE_LOW;
@@ -312,9 +306,7 @@ static void _InitNormalChipThreeOutEpPriority(struct adapter *Adapter)
312 306
313static void _InitQueuePriority(struct adapter *Adapter) 307static void _InitQueuePriority(struct adapter *Adapter)
314{ 308{
315 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); 309 switch (Adapter->HalData->OutEpNumber) {
316
317 switch (haldata->OutEpNumber) {
318 case 1: 310 case 1:
319 _InitNormalChipOneOutEpPriority(Adapter); 311 _InitNormalChipOneOutEpPriority(Adapter);
320 break; 312 break;
@@ -356,7 +348,7 @@ static void _InitDriverInfoSize(struct adapter *Adapter, u8 drvInfoSize)
356 348
357static void _InitWMACSetting(struct adapter *Adapter) 349static void _InitWMACSetting(struct adapter *Adapter)
358{ 350{
359 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); 351 struct hal_data_8188e *haldata = Adapter->HalData;
360 352
361 haldata->ReceiveConfig = RCR_AAP | RCR_APM | RCR_AM | RCR_AB | 353 haldata->ReceiveConfig = RCR_AAP | RCR_APM | RCR_AM | RCR_AB |
362 RCR_CBSSID_DATA | RCR_CBSSID_BCN | 354 RCR_CBSSID_DATA | RCR_CBSSID_BCN |
@@ -455,7 +447,7 @@ static void _InitRetryFunction(struct adapter *Adapter)
455 */ 447 */
456static void usb_AggSettingTxUpdate(struct adapter *Adapter) 448static void usb_AggSettingTxUpdate(struct adapter *Adapter)
457{ 449{
458 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); 450 struct hal_data_8188e *haldata = Adapter->HalData;
459 u32 value32; 451 u32 value32;
460 452
461 if (Adapter->registrypriv.wifi_spec) 453 if (Adapter->registrypriv.wifi_spec)
@@ -491,7 +483,7 @@ usb_AggSettingRxUpdate(
491 struct adapter *Adapter 483 struct adapter *Adapter
492 ) 484 )
493{ 485{
494 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); 486 struct hal_data_8188e *haldata = Adapter->HalData;
495 u8 valueDMA; 487 u8 valueDMA;
496 u8 valueUSB; 488 u8 valueUSB;
497 489
@@ -565,8 +557,6 @@ usb_AggSettingRxUpdate(
565 557
566static void InitUsbAggregationSetting(struct adapter *Adapter) 558static void InitUsbAggregationSetting(struct adapter *Adapter)
567{ 559{
568 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter);
569
570 /* Tx aggregation setting */ 560 /* Tx aggregation setting */
571 usb_AggSettingTxUpdate(Adapter); 561 usb_AggSettingTxUpdate(Adapter);
572 562
@@ -574,12 +564,12 @@ static void InitUsbAggregationSetting(struct adapter *Adapter)
574 usb_AggSettingRxUpdate(Adapter); 564 usb_AggSettingRxUpdate(Adapter);
575 565
576 /* 201/12/10 MH Add for USB agg mode dynamic switch. */ 566 /* 201/12/10 MH Add for USB agg mode dynamic switch. */
577 haldata->UsbRxHighSpeedMode = false; 567 Adapter->HalData->UsbRxHighSpeedMode = false;
578} 568}
579 569
580static void _InitBeaconParameters(struct adapter *Adapter) 570static void _InitBeaconParameters(struct adapter *Adapter)
581{ 571{
582 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); 572 struct hal_data_8188e *haldata = Adapter->HalData;
583 573
584 usb_write16(Adapter, REG_BCN_CTRL, 0x1010); 574 usb_write16(Adapter, REG_BCN_CTRL, 0x1010);
585 575
@@ -621,7 +611,7 @@ enum {
621 611
622static void _InitAntenna_Selection(struct adapter *Adapter) 612static void _InitAntenna_Selection(struct adapter *Adapter)
623{ 613{
624 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); 614 struct hal_data_8188e *haldata = Adapter->HalData;
625 615
626 if (haldata->AntDivCfg == 0) 616 if (haldata->AntDivCfg == 0)
627 return; 617 return;
@@ -677,7 +667,7 @@ u32 rtl8188eu_hal_init(struct adapter *Adapter)
677 u16 value16; 667 u16 value16;
678 u8 txpktbuf_bndy; 668 u8 txpktbuf_bndy;
679 u32 status = _SUCCESS; 669 u32 status = _SUCCESS;
680 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); 670 struct hal_data_8188e *haldata = Adapter->HalData;
681 struct pwrctrl_priv *pwrctrlpriv = &Adapter->pwrctrlpriv; 671 struct pwrctrl_priv *pwrctrlpriv = &Adapter->pwrctrlpriv;
682 struct registry_priv *pregistrypriv = &Adapter->registrypriv; 672 struct registry_priv *pregistrypriv = &Adapter->registrypriv;
683 unsigned long init_start_time = jiffies; 673 unsigned long init_start_time = jiffies;
@@ -904,7 +894,6 @@ HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_END);
904static void CardDisableRTL8188EU(struct adapter *Adapter) 894static void CardDisableRTL8188EU(struct adapter *Adapter)
905{ 895{
906 u8 val8; 896 u8 val8;
907 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter);
908 897
909 RT_TRACE(_module_hci_hal_init_c_, _drv_info_, ("CardDisableRTL8188EU\n")); 898 RT_TRACE(_module_hci_hal_init_c_, _drv_info_, ("CardDisableRTL8188EU\n"));
910 899
@@ -957,7 +946,7 @@ static void CardDisableRTL8188EU(struct adapter *Adapter)
957 val8 = usb_read8(Adapter, REG_GPIO_IO_SEL+1); 946 val8 = usb_read8(Adapter, REG_GPIO_IO_SEL+1);
958 usb_write8(Adapter, REG_GPIO_IO_SEL+1, val8|0x0F);/* Reg0x43 */ 947 usb_write8(Adapter, REG_GPIO_IO_SEL+1, val8|0x0F);/* Reg0x43 */
959 usb_write32(Adapter, REG_BB_PAD_CTRL, 0x00080808);/* set LNA ,TRSW,EX_PA Pin to output mode */ 948 usb_write32(Adapter, REG_BB_PAD_CTRL, 0x00080808);/* set LNA ,TRSW,EX_PA Pin to output mode */
960 haldata->bMacPwrCtrlOn = false; 949 Adapter->HalData->bMacPwrCtrlOn = false;
961 Adapter->bFWReady = false; 950 Adapter->bFWReady = false;
962} 951}
963 952
@@ -1035,7 +1024,7 @@ exit:
1035/* */ 1024/* */
1036static void Hal_EfuseParsePIDVID_8188EU(struct adapter *adapt, u8 *hwinfo, bool AutoLoadFail) 1025static void Hal_EfuseParsePIDVID_8188EU(struct adapter *adapt, u8 *hwinfo, bool AutoLoadFail)
1037{ 1026{
1038 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 1027 struct hal_data_8188e *haldata = adapt->HalData;
1039 1028
1040 if (!AutoLoadFail) { 1029 if (!AutoLoadFail) {
1041 /* VID, PID */ 1030 /* VID, PID */
@@ -1120,9 +1109,7 @@ static void _ReadPROMContent(
1120 1109
1121static void _ReadRFType(struct adapter *Adapter) 1110static void _ReadRFType(struct adapter *Adapter)
1122{ 1111{
1123 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); 1112 Adapter->HalData->rf_chip = RF_6052;
1124
1125 haldata->rf_chip = RF_6052;
1126} 1113}
1127 1114
1128void rtw_hal_read_chip_info(struct adapter *Adapter) 1115void rtw_hal_read_chip_info(struct adapter *Adapter)
@@ -1145,7 +1132,7 @@ static void rtl8192cu_trigger_gpio_0(struct adapter *adapt)
1145 1132
1146static void ResumeTxBeacon(struct adapter *adapt) 1133static void ResumeTxBeacon(struct adapter *adapt)
1147{ 1134{
1148 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 1135 struct hal_data_8188e *haldata = adapt->HalData;
1149 1136
1150 /* 2010.03.01. Marked by tynli. No need to call workitem beacause we record the value */ 1137 /* 2010.03.01. Marked by tynli. No need to call workitem beacause we record the value */
1151 /* which should be read from register to a global variable. */ 1138 /* which should be read from register to a global variable. */
@@ -1159,7 +1146,7 @@ static void ResumeTxBeacon(struct adapter *adapt)
1159 1146
1160static void StopTxBeacon(struct adapter *adapt) 1147static void StopTxBeacon(struct adapter *adapt)
1161{ 1148{
1162 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 1149 struct hal_data_8188e *haldata = adapt->HalData;
1163 1150
1164 /* 2010.03.01. Marked by tynli. No need to call workitem beacause we record the value */ 1151 /* 2010.03.01. Marked by tynli. No need to call workitem beacause we record the value */
1165 /* which should be read from register to a global variable. */ 1152 /* which should be read from register to a global variable. */
@@ -1266,7 +1253,7 @@ static void hw_var_set_bcn_func(struct adapter *Adapter, u8 variable, u8 *val)
1266 1253
1267void rtw_hal_set_hwreg(struct adapter *Adapter, u8 variable, u8 *val) 1254void rtw_hal_set_hwreg(struct adapter *Adapter, u8 variable, u8 *val)
1268{ 1255{
1269 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); 1256 struct hal_data_8188e *haldata = Adapter->HalData;
1270 struct dm_priv *pdmpriv = &haldata->dmpriv; 1257 struct dm_priv *pdmpriv = &haldata->dmpriv;
1271 struct odm_dm_struct *podmpriv = &haldata->odmpriv; 1258 struct odm_dm_struct *podmpriv = &haldata->odmpriv;
1272 1259
@@ -1765,11 +1752,9 @@ void rtw_hal_set_hwreg(struct adapter *Adapter, u8 variable, u8 *val)
1765 1752
1766void rtw_hal_get_hwreg(struct adapter *Adapter, u8 variable, u8 *val) 1753void rtw_hal_get_hwreg(struct adapter *Adapter, u8 variable, u8 *val)
1767{ 1754{
1768 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter);
1769
1770 switch (variable) { 1755 switch (variable) {
1771 case HW_VAR_BASIC_RATE: 1756 case HW_VAR_BASIC_RATE:
1772 *((u16 *)(val)) = haldata->BasicRateSet; 1757 *((u16 *)(val)) = Adapter->HalData->BasicRateSet;
1773 case HW_VAR_TXPAUSE: 1758 case HW_VAR_TXPAUSE:
1774 val[0] = usb_read8(Adapter, REG_TXPAUSE); 1759 val[0] = usb_read8(Adapter, REG_TXPAUSE);
1775 break; 1760 break;
@@ -1778,7 +1763,7 @@ void rtw_hal_get_hwreg(struct adapter *Adapter, u8 variable, u8 *val)
1778 val[0] = (BIT(0) & usb_read8(Adapter, REG_TDECTRL+2)) ? true : false; 1763 val[0] = (BIT(0) & usb_read8(Adapter, REG_TDECTRL+2)) ? true : false;
1779 break; 1764 break;
1780 case HW_VAR_RF_TYPE: 1765 case HW_VAR_RF_TYPE:
1781 val[0] = haldata->rf_type; 1766 val[0] = Adapter->HalData->rf_type;
1782 break; 1767 break;
1783 case HW_VAR_FWLPS_RF_ON: 1768 case HW_VAR_FWLPS_RF_ON:
1784 { 1769 {
@@ -1799,13 +1784,13 @@ void rtw_hal_get_hwreg(struct adapter *Adapter, u8 variable, u8 *val)
1799 } 1784 }
1800 break; 1785 break;
1801 case HW_VAR_CURRENT_ANTENNA: 1786 case HW_VAR_CURRENT_ANTENNA:
1802 val[0] = haldata->CurAntenna; 1787 val[0] = Adapter->HalData->CurAntenna;
1803 break; 1788 break;
1804 case HW_VAR_EFUSE_BYTES: /* To get EFUE total used bytes, added by Roger, 2008.12.22. */ 1789 case HW_VAR_EFUSE_BYTES: /* To get EFUE total used bytes, added by Roger, 2008.12.22. */
1805 *((u16 *)(val)) = haldata->EfuseUsedBytes; 1790 *((u16 *)(val)) = Adapter->HalData->EfuseUsedBytes;
1806 break; 1791 break;
1807 case HW_VAR_APFM_ON_MAC: 1792 case HW_VAR_APFM_ON_MAC:
1808 *val = haldata->bMacPwrCtrlOn; 1793 *val = Adapter->HalData->bMacPwrCtrlOn;
1809 break; 1794 break;
1810 case HW_VAR_CHK_HI_QUEUE_EMPTY: 1795 case HW_VAR_CHK_HI_QUEUE_EMPTY:
1811 *val = ((usb_read32(Adapter, REG_HGQ_INFORMATION)&0x0000ff00) == 0) ? true : false; 1796 *val = ((usb_read32(Adapter, REG_HGQ_INFORMATION)&0x0000ff00) == 0) ? true : false;
@@ -1825,7 +1810,7 @@ u8 rtw_hal_get_def_var(
1825 void *pValue 1810 void *pValue
1826 ) 1811 )
1827{ 1812{
1828 struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); 1813 struct hal_data_8188e *haldata = Adapter->HalData;
1829 u8 bResult = _SUCCESS; 1814 u8 bResult = _SUCCESS;
1830 1815
1831 switch (eVariable) { 1816 switch (eVariable) {
@@ -1921,7 +1906,7 @@ void UpdateHalRAMask8188EUsb(struct adapter *adapt, u32 mac_id, u8 rssi_level)
1921 u8 shortGIrate = false; 1906 u8 shortGIrate = false;
1922 int supportRateNum = 0; 1907 int supportRateNum = 0;
1923 struct sta_info *psta; 1908 struct sta_info *psta;
1924 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 1909 struct odm_dm_struct *odmpriv = &adapt->HalData->odmpriv;
1925 struct mlme_ext_priv *pmlmeext = &adapt->mlmeextpriv; 1910 struct mlme_ext_priv *pmlmeext = &adapt->mlmeextpriv;
1926 struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; 1911 struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
1927 struct wlan_bssid_ex *cur_network = &pmlmeinfo->network; 1912 struct wlan_bssid_ex *cur_network = &pmlmeinfo->network;
@@ -1960,7 +1945,7 @@ void UpdateHalRAMask8188EUsb(struct adapter *adapt, u32 mac_id, u8 rssi_level)
1960 break; 1945 break;
1961 } 1946 }
1962 1947
1963 rate_bitmap = ODM_Get_Rate_Bitmap(&haldata->odmpriv, mac_id, mask, rssi_level); 1948 rate_bitmap = ODM_Get_Rate_Bitmap(odmpriv, mac_id, mask, rssi_level);
1964 DBG_88E("%s => mac_id:%d, networkType:0x%02x, mask:0x%08x\n\t ==> rssi_level:%d, rate_bitmap:0x%08x\n", 1949 DBG_88E("%s => mac_id:%d, networkType:0x%02x, mask:0x%08x\n\t ==> rssi_level:%d, rate_bitmap:0x%08x\n",
1965 __func__, mac_id, networkType, mask, rssi_level, rate_bitmap); 1950 __func__, mac_id, networkType, mask, rssi_level, rate_bitmap);
1966 1951
@@ -1968,8 +1953,7 @@ void UpdateHalRAMask8188EUsb(struct adapter *adapt, u32 mac_id, u8 rssi_level)
1968 1953
1969 init_rate = get_highest_rate_idx(mask)&0x3f; 1954 init_rate = get_highest_rate_idx(mask)&0x3f;
1970 1955
1971 ODM_RA_UpdateRateInfo_8188E(&haldata->odmpriv, mac_id, 1956 ODM_RA_UpdateRateInfo_8188E(odmpriv, mac_id, raid, mask, shortGIrate);
1972 raid, mask, shortGIrate);
1973 1957
1974 /* set ra_id */ 1958 /* set ra_id */
1975 psta->raid = raid; 1959 psta->raid = raid;
@@ -2012,11 +1996,10 @@ void rtw_hal_bcn_related_reg_setting(struct adapter *adapt)
2012 1996
2013void rtw_hal_def_value_init(struct adapter *adapt) 1997void rtw_hal_def_value_init(struct adapter *adapt)
2014{ 1998{
2015 struct hal_data_8188e *haldata; 1999 struct hal_data_8188e *haldata = adapt->HalData;
2016 struct pwrctrl_priv *pwrctrlpriv; 2000 struct pwrctrl_priv *pwrctrlpriv;
2017 u8 i; 2001 u8 i;
2018 2002
2019 haldata = GET_HAL_DATA(adapt);
2020 pwrctrlpriv = &adapt->pwrctrlpriv; 2003 pwrctrlpriv = &adapt->pwrctrlpriv;
2021 2004
2022 /* init default value */ 2005 /* init default value */
diff --git a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
index 5362218826ef..34268d99df67 100644
--- a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
+++ b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
@@ -351,9 +351,6 @@ struct hal_data_8188e {
351 u8 UsbRxAggPageTimeout; 351 u8 UsbRxAggPageTimeout;
352}; 352};
353 353
354#define GET_HAL_DATA(__pAdapter) \
355 ((struct hal_data_8188e *)((__pAdapter)->HalData))
356
357/* rtl8188e_hal_init.c */ 354/* rtl8188e_hal_init.c */
358void _8051Reset88E(struct adapter *padapter); 355void _8051Reset88E(struct adapter *padapter);
359void rtl8188e_InitializeFirmwareVars(struct adapter *padapter); 356void rtl8188e_InitializeFirmwareVars(struct adapter *padapter);
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index 52fa65980661..d0d591501b73 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -20,7 +20,7 @@
20 20
21static void interrupt_handler_8188eu(struct adapter *adapt, u16 pkt_len, u8 *pbuf) 21static void interrupt_handler_8188eu(struct adapter *adapt, u16 pkt_len, u8 *pbuf)
22{ 22{
23 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 23 struct hal_data_8188e *haldata = adapt->HalData;
24 24
25 if (pkt_len != INTERRUPT_MSG_FORMAT_LEN) { 25 if (pkt_len != INTERRUPT_MSG_FORMAT_LEN) {
26 DBG_88E("%s Invalid interrupt content length (%d)!\n", __func__, pkt_len); 26 DBG_88E("%s Invalid interrupt content length (%d)!\n", __func__, pkt_len);
@@ -48,7 +48,7 @@ static int recvbuf2recvframe(struct adapter *adapt, struct sk_buff *pskb)
48 struct sk_buff *pkt_copy = NULL; 48 struct sk_buff *pkt_copy = NULL;
49 struct recv_frame *precvframe = NULL; 49 struct recv_frame *precvframe = NULL;
50 struct rx_pkt_attrib *pattrib = NULL; 50 struct rx_pkt_attrib *pattrib = NULL;
51 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 51 struct hal_data_8188e *haldata = adapt->HalData;
52 struct recv_priv *precvpriv = &adapt->recvpriv; 52 struct recv_priv *precvpriv = &adapt->recvpriv;
53 struct __queue *pfree_recv_queue = &precvpriv->free_recv_queue; 53 struct __queue *pfree_recv_queue = &precvpriv->free_recv_queue;
54 54
@@ -285,8 +285,7 @@ static int usbctrl_vendorreq(struct adapter *adapt, u8 request, u16 value, u16 i
285 if (status == (-ESHUTDOWN) || status == -ENODEV) { 285 if (status == (-ESHUTDOWN) || status == -ENODEV) {
286 adapt->bSurpriseRemoved = true; 286 adapt->bSurpriseRemoved = true;
287 } else { 287 } else {
288 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); 288 adapt->HalData->srestpriv.Wifi_Error_Status = USB_VEN_REQ_CMD_FAIL;
289 haldata->srestpriv.Wifi_Error_Status = USB_VEN_REQ_CMD_FAIL;
290 } 289 }
291 } else { /* status != len && status >= 0 */ 290 } else { /* status != len && status >= 0 */
292 if (status > 0) { 291 if (status > 0) {
@@ -436,10 +435,7 @@ static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs)
436 break; 435 break;
437 case -EPROTO: 436 case -EPROTO:
438 case -EOVERFLOW: 437 case -EOVERFLOW:
439 { 438 adapt->HalData->srestpriv.Wifi_Error_Status = USB_READ_PORT_FAIL;
440 struct hal_data_8188e *haldata = GET_HAL_DATA(adapt);
441 haldata->srestpriv.Wifi_Error_Status = USB_READ_PORT_FAIL;
442 }
443 precvbuf->reuse = true; 439 precvbuf->reuse = true;
444 usb_read_port(adapt, precvpriv->ff_hwaddr, 0, (unsigned char *)precvbuf); 440 usb_read_port(adapt, precvpriv->ff_hwaddr, 0, (unsigned char *)precvbuf);
445 break; 441 break;