2014-06-01 12:17:46

by navin patidar

[permalink] [raw]
Subject: [PATCH 01/26] staging: rtl8188eu: Remove function with empty defination ODM_ResetIQKResult()

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/hal/HalPhyRf.c | 8 --------
drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 2 --
drivers/staging/rtl8188eu/include/HalPhyRf.h | 2 --
3 files changed, 12 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf.c b/drivers/staging/rtl8188eu/hal/HalPhyRf.c
index 980f7da..5dd25e5 100644
--- a/drivers/staging/rtl8188eu/hal/HalPhyRf.c
+++ b/drivers/staging/rtl8188eu/hal/HalPhyRf.c
@@ -20,14 +20,6 @@

#include "odm_precomp.h"

-/* 3============================================================ */
-/* 3 IQ Calibration */
-/* 3============================================================ */
-
-void ODM_ResetIQKResult(struct odm_dm_struct *pDM_Odm)
-{
-}
-
u8 ODM_GetRightChnlPlaceforIQK(u8 chnl)
{
u8 channel_all[ODM_TARGET_CHNL_NUM_2G_5G] = {
diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c
index 7c22658..2bcb39f 100644
--- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c
+++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c
@@ -455,8 +455,6 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
}

if (delta_IQK >= 8) { /* Delta temperature is equal to or larger than 20 centigrade. */
- ODM_ResetIQKResult(dm_odm);
-
dm_odm->RFCalibrateInfo.ThermalValue_IQK = ThermalValue;
PHY_IQCalibrate_8188E(Adapter, false);
}
diff --git a/drivers/staging/rtl8188eu/include/HalPhyRf.h b/drivers/staging/rtl8188eu/include/HalPhyRf.h
index 1ec4971..8ca6ce6 100644
--- a/drivers/staging/rtl8188eu/include/HalPhyRf.h
+++ b/drivers/staging/rtl8188eu/include/HalPhyRf.h
@@ -23,8 +23,6 @@

#define ODM_TARGET_CHNL_NUM_2G_5G 59

-void ODM_ResetIQKResult(struct odm_dm_struct *pDM_Odm);
-
u8 ODM_GetRightChnlPlaceforIQK(u8 chnl);

#endif /* #ifndef __HAL_PHY_RF_H__ */
--
1.7.10.4


2014-06-01 12:17:55

by navin patidar

[permalink] [raw]
Subject: [PATCH 02/26] staging :rtl8188eu: Remove HalPhyRf.[h|c] files.

Move ODM_GetRightChnlPlaceforIQK() from HalPhyRf.c to HalPhyRf_8188e.c.
Move ODM_TARGET_CHNL_NUM_2G_5G from HalPhyRf.h to HalPhyRf_8188e.h.
After the movement of function and macro HalPhyRf.[h|c] files are redundant.

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/Makefile | 1 -
drivers/staging/rtl8188eu/hal/HalPhyRf.c | 41 --------------------
drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c | 20 ++++++++++
drivers/staging/rtl8188eu/include/HalPhyRf.h | 28 -------------
drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h | 2 +-
drivers/staging/rtl8188eu/include/odm_precomp.h | 1 -
6 files changed, 21 insertions(+), 72 deletions(-)
delete mode 100644 drivers/staging/rtl8188eu/hal/HalPhyRf.c
delete mode 100644 drivers/staging/rtl8188eu/include/HalPhyRf.h

diff --git a/drivers/staging/rtl8188eu/Makefile b/drivers/staging/rtl8188eu/Makefile
index 260c635..2ed35a0 100644
--- a/drivers/staging/rtl8188eu/Makefile
+++ b/drivers/staging/rtl8188eu/Makefile
@@ -25,7 +25,6 @@ r8188eu-y := \
hal/HalHWImg8188E_MAC.o \
hal/HalHWImg8188E_BB.o \
hal/HalHWImg8188E_RF.o \
- hal/HalPhyRf.o \
hal/HalPhyRf_8188e.o \
hal/HalPwrSeqCmd.o \
hal/Hal8188EPwrSeq.o \
diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf.c b/drivers/staging/rtl8188eu/hal/HalPhyRf.c
deleted file mode 100644
index 5dd25e5..0000000
--- a/drivers/staging/rtl8188eu/hal/HalPhyRf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/******************************************************************************
- *
- * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
- *
- *
- ******************************************************************************/
-
- #include "odm_precomp.h"
-
-u8 ODM_GetRightChnlPlaceforIQK(u8 chnl)
-{
- u8 channel_all[ODM_TARGET_CHNL_NUM_2G_5G] = {
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
- 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
- 124, 126, 128, 130, 132, 134, 136, 138, 140, 149, 151, 153,
- 155, 157, 159, 161, 163, 165
- };
- u8 place = chnl;
-
- if (chnl > 14) {
- for (place = 14; place < sizeof(channel_all); place++) {
- if (channel_all[place] == chnl)
- return place-13;
- }
- }
- return 0;
-}
diff --git a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c
index 2bcb39f..fafb18c 100644
--- a/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c
+++ b/drivers/staging/rtl8188eu/hal/HalPhyRf_8188e.c
@@ -27,6 +27,26 @@

/*---------------------------Define Local Constant---------------------------*/

+u8 ODM_GetRightChnlPlaceforIQK(u8 chnl)
+{
+ u8 channel_all[ODM_TARGET_CHNL_NUM_2G_5G] = {
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
+ 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
+ 124, 126, 128, 130, 132, 134, 136, 138, 140, 149, 151, 153,
+ 155, 157, 159, 161, 163, 165
+ };
+ u8 place = chnl;
+
+ if (chnl > 14) {
+ for (place = 14; place < sizeof(channel_all); place++) {
+ if (channel_all[place] == chnl)
+ return place-13;
+ }
+ }
+ return 0;
+}
+
/* 3============================================================ */
/* 3 Tx Power Tracking */
/* 3============================================================ */
diff --git a/drivers/staging/rtl8188eu/include/HalPhyRf.h b/drivers/staging/rtl8188eu/include/HalPhyRf.h
deleted file mode 100644
index 8ca6ce6..0000000
--- a/drivers/staging/rtl8188eu/include/HalPhyRf.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/******************************************************************************
- *
- * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
- *
- *
- ******************************************************************************/
-
- #ifndef __HAL_PHY_RF_H__
- #define __HAL_PHY_RF_H__
-
-#define ODM_TARGET_CHNL_NUM_2G_5G 59
-
-u8 ODM_GetRightChnlPlaceforIQK(u8 chnl);
-
-#endif /* #ifndef __HAL_PHY_RF_H__ */
diff --git a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h
index 287e9f9..90a26c1 100644
--- a/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h
+++ b/drivers/staging/rtl8188eu/include/HalPhyRf_8188e.h
@@ -25,7 +25,7 @@
#define IQK_DELAY_TIME_88E 10 /* ms */
#define index_mapping_NUM_88E 15
#define AVG_THERMAL_NUM_88E 4
-
+#define ODM_TARGET_CHNL_NUM_2G_5G 59

void ODM_TxPwrTrackAdjust88E(struct odm_dm_struct *pDM_Odm,
u8 Type, /* 0 = OFDM, 1 = CCK */
diff --git a/drivers/staging/rtl8188eu/include/odm_precomp.h b/drivers/staging/rtl8188eu/include/odm_precomp.h
index 7cc2cc9..3839463 100644
--- a/drivers/staging/rtl8188eu/include/odm_precomp.h
+++ b/drivers/staging/rtl8188eu/include/odm_precomp.h
@@ -39,7 +39,6 @@
#include "odm_RegDefine11AC.h"
#include "odm_RegDefine11N.h"

-#include "HalPhyRf.h"
#include "HalPhyRf_8188e.h"/* for IQK,LCK,Power-tracking */
#include "Hal8188ERateAdaptive.h"/* for RA,Power training */
#include "rtl8188e_hal.h"
--
1.7.10.4

2014-06-01 12:18:04

by navin patidar

[permalink] [raw]
Subject: [PATCH 03/26] staging: rtl8188eu: Remove header file rtw_version.h

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/core/rtw_debug.c | 1 -
drivers/staging/rtl8188eu/include/rtw_debug.h | 2 +-
drivers/staging/rtl8188eu/include/rtw_version.h | 1 -
drivers/staging/rtl8188eu/os_dep/ioctl_linux.c | 1 -
drivers/staging/rtl8188eu/os_dep/os_intfs.c | 1 -
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 1 -
6 files changed, 1 insertion(+), 6 deletions(-)
delete mode 100644 drivers/staging/rtl8188eu/include/rtw_version.h

diff --git a/drivers/staging/rtl8188eu/core/rtw_debug.c b/drivers/staging/rtl8188eu/core/rtw_debug.c
index 2beb269..995b74b 100644
--- a/drivers/staging/rtl8188eu/core/rtw_debug.c
+++ b/drivers/staging/rtl8188eu/core/rtw_debug.c
@@ -20,7 +20,6 @@
#define _RTW_DEBUG_C_

#include <rtw_debug.h>
-#include <rtw_version.h>

int proc_get_drv_version(char *page, char **start,
off_t offset, int count,
diff --git a/drivers/staging/rtl8188eu/include/rtw_debug.h b/drivers/staging/rtl8188eu/include/rtw_debug.h
index ae05141..a38616e 100644
--- a/drivers/staging/rtl8188eu/include/rtw_debug.h
+++ b/drivers/staging/rtl8188eu/include/rtw_debug.h
@@ -23,7 +23,7 @@
#include <osdep_service.h>
#include <drv_types.h>

-
+#define DRIVERVERSION "v4.1.4_6773.20130222"
#define _drv_always_ 1
#define _drv_emerg_ 2
#define _drv_alert_ 3
diff --git a/drivers/staging/rtl8188eu/include/rtw_version.h b/drivers/staging/rtl8188eu/include/rtw_version.h
deleted file mode 100644
index 6d2d52c..0000000
--- a/drivers/staging/rtl8188eu/include/rtw_version.h
+++ /dev/null
@@ -1 +0,0 @@
-#define DRIVERVERSION "v4.1.4_6773.20130222"
diff --git a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
index 97f8b3e..897f03f 100644
--- a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
@@ -30,7 +30,6 @@
#include <rtw_ioctl_set.h>
#include <rtw_mp_ioctl.h>
#include <usb_ops.h>
-#include <rtw_version.h>
#include <rtl8188e_hal.h>

#include <rtw_mp.h>
diff --git a/drivers/staging/rtl8188eu/os_dep/os_intfs.c b/drivers/staging/rtl8188eu/os_dep/os_intfs.c
index 6fe32f0..a220c57 100644
--- a/drivers/staging/rtl8188eu/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8188eu/os_dep/os_intfs.c
@@ -25,7 +25,6 @@
#include <recv_osdep.h>
#include <hal_intf.h>
#include <rtw_ioctl.h>
-#include <rtw_version.h>

#include <usb_osintf.h>
#include <usb_hal.h>
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 05dce99..d17218f 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -24,7 +24,6 @@
#include <recv_osdep.h>
#include <xmit_osdep.h>
#include <hal_intf.h>
-#include <rtw_version.h>
#include <linux/usb.h>
#include <linux/vmalloc.h>
#include <osdep_intf.h>
--
1.7.10.4

2014-06-01 12:18:08

by navin patidar

[permalink] [raw]
Subject: [PATCH 04/26] staging: rtl8188eu: Remove hw_init_mutex from struct rtw_usb_drv


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 2 +-
drivers/staging/rtl8188eu/os_dep/os_intfs.c | 6 ++++--
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 6 +-----
3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index 10cc1a1..f40db1a 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -307,7 +307,7 @@ struct adapter {
#endif
struct adapter *pbuddy_adapter;

- struct mutex *hw_init_mutex;
+ struct mutex hw_init_mutex;

spinlock_t br_ext_lock;
struct nat25_network_db_entry *nethash[NAT25_HASH_SIZE];
diff --git a/drivers/staging/rtl8188eu/os_dep/os_intfs.c b/drivers/staging/rtl8188eu/os_dep/os_intfs.c
index a220c57..c9906e3 100644
--- a/drivers/staging/rtl8188eu/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8188eu/os_dep/os_intfs.c
@@ -997,6 +997,8 @@ u8 rtw_free_drv_sw(struct adapter *padapter)
if (padapter->pbuddy_adapter != NULL)
padapter->pbuddy_adapter->pbuddy_adapter = NULL;

+ mutex_destroy(&padapter->hw_init_mutex);
+
RT_TRACE(_module_os_intfs_c_, _drv_info_, ("-rtw_free_drv_sw\n"));

return _SUCCESS;
@@ -1105,9 +1107,9 @@ int netdev_open(struct net_device *pnetdev)
int ret;
struct adapter *padapter = (struct adapter *)rtw_netdev_priv(pnetdev);

- _enter_critical_mutex(padapter->hw_init_mutex, NULL);
+ _enter_critical_mutex(&padapter->hw_init_mutex, NULL);
ret = _netdev_open(pnetdev);
- mutex_unlock(padapter->hw_init_mutex);
+ mutex_unlock(&padapter->hw_init_mutex);
return ret;
}

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index d17218f..523d500 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -63,7 +63,6 @@ MODULE_DEVICE_TABLE(usb, rtw_usb_id_tbl);
struct rtw_usb_drv {
struct usb_driver usbdrv;
int drv_registered;
- struct mutex hw_init_mutex;
};

static struct rtw_usb_drv rtl8188e_usb_drv = {
@@ -537,7 +536,7 @@ static struct adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj,
dvobj->if1 = padapter;

padapter->bDriverStopped = true;
- padapter->hw_init_mutex = &usb_drv->hw_init_mutex;
+ mutex_init(&padapter->hw_init_mutex);
padapter->chip_type = RTL8188E;

pnetdev = rtw_init_netdev(padapter);
@@ -732,8 +731,6 @@ static int __init rtw_drv_entry(void)

DBG_88E(DRV_NAME " driver version=%s\n", DRIVERVERSION);

- mutex_init(&usb_drv->hw_init_mutex);
-
usb_drv->drv_registered = true;
return usb_register(&usb_drv->usbdrv);
}
@@ -746,7 +743,6 @@ static void __exit rtw_drv_halt(void)
usb_drv->drv_registered = false;
usb_deregister(&usb_drv->usbdrv);

- mutex_destroy(&usb_drv->hw_init_mutex);
DBG_88E("-rtw_drv_halt\n");
}

--
1.7.10.4

2014-06-01 12:18:16

by navin patidar

[permalink] [raw]
Subject: [PATCH 05/26] staging: rtl8188eu: Use unregistering flag from struct usb_interface

Use unregistering flag from struct usb_interface to find
driver registration status.

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 523d500..1841d54 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -707,7 +707,7 @@ static void rtw_dev_remove(struct usb_interface *pusb_intf)
DBG_88E("+rtw_dev_remove\n");
RT_TRACE(_module_hci_intfs_c_, _drv_err_, ("+dev_remove()\n"));

- if (usb_drv->drv_registered)
+ if (!pusb_intf->unregistering)
padapter->bSurpriseRemoved = true;

rtw_pm_set_ips(padapter, IPS_NONE);
--
1.7.10.4

2014-06-01 12:18:23

by navin patidar

[permalink] [raw]
Subject: [PATCH 06/26] staging : rtl8188eu: Remove drv_registered from struct rtw_usb_drv

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 1841d54..c99b9c2 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -62,7 +62,6 @@ MODULE_DEVICE_TABLE(usb, rtw_usb_id_tbl);

struct rtw_usb_drv {
struct usb_driver usbdrv;
- int drv_registered;
};

static struct rtw_usb_drv rtl8188e_usb_drv = {
@@ -731,7 +730,6 @@ static int __init rtw_drv_entry(void)

DBG_88E(DRV_NAME " driver version=%s\n", DRIVERVERSION);

- usb_drv->drv_registered = true;
return usb_register(&usb_drv->usbdrv);
}

@@ -740,7 +738,6 @@ static void __exit rtw_drv_halt(void)
RT_TRACE(_module_hci_intfs_c_, _drv_err_, ("+rtw_drv_halt\n"));
DBG_88E("+rtw_drv_halt\n");

- usb_drv->drv_registered = false;
usb_deregister(&usb_drv->usbdrv);

DBG_88E("-rtw_drv_halt\n");
--
1.7.10.4

2014-06-01 12:18:31

by navin patidar

[permalink] [raw]
Subject: [PATCH 07/26] staging: rtl8188eu: Remove struct rtw_usb_drv

struct rtw_usb_drv contains only one member usb_driver structure,
so no use of keeping it.

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 26 ++++++++++----------------
1 file changed, 10 insertions(+), 16 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index c99b9c2..d33aeb9 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -60,22 +60,16 @@ static struct usb_device_id rtw_usb_id_tbl[] = {

MODULE_DEVICE_TABLE(usb, rtw_usb_id_tbl);

-struct rtw_usb_drv {
- struct usb_driver usbdrv;
+static struct usb_driver rtl8188e_usb_drv = {
+ .name = "r8188eu",
+ .probe = rtw_drv_init,
+ .disconnect = rtw_dev_remove,
+ .id_table = rtw_usb_id_tbl,
+ .suspend = rtw_suspend,
+ .resume = rtw_resume,
+ .reset_resume = rtw_resume,
};

-static struct rtw_usb_drv rtl8188e_usb_drv = {
- .usbdrv.name = "r8188eu",
- .usbdrv.probe = rtw_drv_init,
- .usbdrv.disconnect = rtw_dev_remove,
- .usbdrv.id_table = rtw_usb_id_tbl,
- .usbdrv.suspend = rtw_suspend,
- .usbdrv.resume = rtw_resume,
- .usbdrv.reset_resume = rtw_resume,
-};
-
-static struct rtw_usb_drv *usb_drv = &rtl8188e_usb_drv;
-
static u8 rtw_init_intf_priv(struct dvobj_priv *dvobj)
{
u8 rst = _SUCCESS;
@@ -730,7 +724,7 @@ static int __init rtw_drv_entry(void)

DBG_88E(DRV_NAME " driver version=%s\n", DRIVERVERSION);

- return usb_register(&usb_drv->usbdrv);
+ return usb_register(&rtl8188e_usb_drv);
}

static void __exit rtw_drv_halt(void)
@@ -738,7 +732,7 @@ static void __exit rtw_drv_halt(void)
RT_TRACE(_module_hci_intfs_c_, _drv_err_, ("+rtw_drv_halt\n"));
DBG_88E("+rtw_drv_halt\n");

- usb_deregister(&usb_drv->usbdrv);
+ usb_deregister(&rtl8188e_usb_drv);

DBG_88E("-rtw_drv_halt\n");
}
--
1.7.10.4

2014-06-01 12:18:37

by navin patidar

[permalink] [raw]
Subject: [PATCH 08/26] staging: rtl8188eu: Use module_usb_driver() macro

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 22 +---------------------
1 file changed, 1 insertion(+), 21 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index d33aeb9..21bf74d 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -718,24 +718,4 @@ static void rtw_dev_remove(struct usb_interface *pusb_intf)
return;
}

-static int __init rtw_drv_entry(void)
-{
- RT_TRACE(_module_hci_intfs_c_, _drv_err_, ("+rtw_drv_entry\n"));
-
- DBG_88E(DRV_NAME " driver version=%s\n", DRIVERVERSION);
-
- return usb_register(&rtl8188e_usb_drv);
-}
-
-static void __exit rtw_drv_halt(void)
-{
- RT_TRACE(_module_hci_intfs_c_, _drv_err_, ("+rtw_drv_halt\n"));
- DBG_88E("+rtw_drv_halt\n");
-
- usb_deregister(&rtl8188e_usb_drv);
-
- DBG_88E("-rtw_drv_halt\n");
-}
-
-module_init(rtw_drv_entry);
-module_exit(rtw_drv_halt);
+module_usb_driver(rtl8188e_usb_drv)
--
1.7.10.4

2014-06-01 12:18:42

by navin patidar

[permalink] [raw]
Subject: [PATCH 09/26] staging: rtl8188eu: Remove function declarations in usb_intf.c

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 28 ++++++++++-----------------
1 file changed, 10 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 21bf74d..45d2608 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -35,14 +35,6 @@

int ui_pid[3] = {0, 0, 0};

-static int rtw_suspend(struct usb_interface *intf, pm_message_t message);
-static int rtw_resume(struct usb_interface *intf);
-
-
-static int rtw_drv_init(struct usb_interface *pusb_intf, const struct usb_device_id *pdid);
-static void rtw_dev_remove(struct usb_interface *pusb_intf);
-
-
#define USB_VENDER_ID_REALTEK 0x0bda

/* DID_USB_v916_20130116 */
@@ -60,16 +52,6 @@ static struct usb_device_id rtw_usb_id_tbl[] = {

MODULE_DEVICE_TABLE(usb, rtw_usb_id_tbl);

-static struct usb_driver rtl8188e_usb_drv = {
- .name = "r8188eu",
- .probe = rtw_drv_init,
- .disconnect = rtw_dev_remove,
- .id_table = rtw_usb_id_tbl,
- .suspend = rtw_suspend,
- .resume = rtw_resume,
- .reset_resume = rtw_resume,
-};
-
static u8 rtw_init_intf_priv(struct dvobj_priv *dvobj)
{
u8 rst = _SUCCESS;
@@ -718,4 +700,14 @@ static void rtw_dev_remove(struct usb_interface *pusb_intf)
return;
}

+static struct usb_driver rtl8188e_usb_drv = {
+ .name = "r8188eu",
+ .probe = rtw_drv_init,
+ .disconnect = rtw_dev_remove,
+ .id_table = rtw_usb_id_tbl,
+ .suspend = rtw_suspend,
+ .resume = rtw_resume,
+ .reset_resume = rtw_resume,
+};
+
module_usb_driver(rtl8188e_usb_drv)
--
1.7.10.4

2014-06-01 12:18:49

by navin patidar

[permalink] [raw]
Subject: [PATCH 10/26] staging: rtl8188eu: Remove unused stucture defination struct specific_device_id

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 6 ------
1 file changed, 6 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index f40db1a..8cbdab5 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -68,12 +68,6 @@ enum _NIC_VERSION {
#define SPEC_DEV_ID_RF_CONFIG_2T2R BIT(4)
#define SPEC_DEV_ID_ASSIGN_IFNAME BIT(5)

-struct specific_device_id {
- u32 flags;
- u16 idVendor;
- u16 idProduct;
-};
-
struct registry_priv {
u8 chip_version;
u8 rfintfs;
--
1.7.10.4

2014-06-01 12:18:56

by navin patidar

[permalink] [raw]
Subject: [PATCH 11/26] staging: rtl8188eu: Remove unused enum

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 7 -------
1 file changed, 7 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index 8cbdab5..d38f861 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -54,13 +54,6 @@
#include <rtw_mp.h>
#include <rtw_br_ext.h>

-enum _NIC_VERSION {
- RTL8711_NIC,
- RTL8712_NIC,
- RTL8713_NIC,
- RTL8716_NIC
-};
-
#define SPEC_DEV_ID_NONE BIT(0)
#define SPEC_DEV_ID_DISABLE_HT BIT(1)
#define SPEC_DEV_ID_ENABLE_PS BIT(2)
--
1.7.10.4

2014-06-01 12:19:05

by navin patidar

[permalink] [raw]
Subject: [PATCH 12/26] staging: rtl8188eu: Remove unused members of struct dvobj_priv

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 4 ----
1 file changed, 4 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index d38f861..3181418 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -152,7 +152,6 @@ struct rt_firmware {

struct dvobj_priv {
struct adapter *if1;
- struct adapter *if2;
struct rt_firmware firmware;

/* For 92D, DMDP have 2 interface. */
@@ -164,8 +163,6 @@ struct dvobj_priv {
int RtOutPipe[3];
u8 Queue2Pipe[HW_QUEUE_ENTRY];/* for out pipe mapping */

- u8 irq_alloc;
-
/*-------- below is for USB INTERFACE --------*/

u8 nr_endpoint;
@@ -173,7 +170,6 @@ struct dvobj_priv {
u8 RtNumInPipes;
u8 RtNumOutPipes;
int ep_num[5]; /* endpoint number */
- int RegUsbSS;
struct semaphore usb_suspend_sema;
struct mutex usb_vendor_req_mutex;

--
1.7.10.4

2014-06-01 12:19:12

by navin patidar

[permalink] [raw]
Subject: [PATCH 13/26] staging: rtl8188eu: Remove usb_suspend_sema from struct dvobj_priv

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 1 -
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 1 -
2 files changed, 2 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index 3181418..c441d46 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -170,7 +170,6 @@ struct dvobj_priv {
u8 RtNumInPipes;
u8 RtNumOutPipes;
int ep_num[5]; /* endpoint number */
- struct semaphore usb_suspend_sema;
struct mutex usb_vendor_req_mutex;

u8 *usb_alloc_vendor_req_buf;
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 45d2608..2333fa6 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -144,7 +144,6 @@ static struct dvobj_priv *usb_dvobj_init(struct usb_interface *usb_intf)
if (rtw_init_intf_priv(pdvobjpriv) == _FAIL)
goto free_dvobj;

- sema_init(&(pdvobjpriv->usb_suspend_sema), 0);
rtw_reset_continual_urb_error(pdvobjpriv);

usb_get_dev(pusbd);
--
1.7.10.4

2014-06-01 12:19:18

by navin patidar

[permalink] [raw]
Subject: [PATCH 14/26] staging: rtl8188eu: Remove usb_alloc_vendor_req_buf from struct dvobj_priv

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 1 -
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 17 +++++------------
2 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index c441d46..7586de71 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -172,7 +172,6 @@ struct dvobj_priv {
int ep_num[5]; /* endpoint number */
struct mutex usb_vendor_req_mutex;

- u8 *usb_alloc_vendor_req_buf;
u8 *usb_vendor_req_buf;

struct usb_interface *pusbintf;
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 2333fa6..1265a47 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -54,26 +54,19 @@ MODULE_DEVICE_TABLE(usb, rtw_usb_id_tbl);

static u8 rtw_init_intf_priv(struct dvobj_priv *dvobj)
{
- u8 rst = _SUCCESS;
-
mutex_init(&dvobj->usb_vendor_req_mutex);
+ dvobj->usb_vendor_req_buf = rtw_zmalloc(MAX_USB_IO_CTL_SIZE);
+ if (!dvobj->usb_vendor_req_buf)
+ return _FAIL;

- dvobj->usb_alloc_vendor_req_buf = rtw_zmalloc(MAX_USB_IO_CTL_SIZE);
- if (dvobj->usb_alloc_vendor_req_buf == NULL) {
- DBG_88E("alloc usb_vendor_req_buf failed...\n");
- rst = _FAIL;
- goto exit;
- }
- dvobj->usb_vendor_req_buf = (u8 *)N_BYTE_ALIGMENT((size_t)(dvobj->usb_alloc_vendor_req_buf), ALIGNMENT_UNIT);
-exit:
- return rst;
+ return _SUCCESS;
}

static u8 rtw_deinit_intf_priv(struct dvobj_priv *dvobj)
{
u8 rst = _SUCCESS;

- kfree(dvobj->usb_alloc_vendor_req_buf);
+ kfree(dvobj->usb_vendor_req_buf);
mutex_destroy(&dvobj->usb_vendor_req_mutex);
return rst;
}
--
1.7.10.4

2014-06-01 12:19:25

by navin patidar

[permalink] [raw]
Subject: [PATCH 15/26] staging: rtl8188eu: Remove unused enum _ADAPTER_TYPE


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 6 ------
1 file changed, 6 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index 7586de71..f7db553 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -193,12 +193,6 @@ enum _IFACE_TYPE {
MAX_IFACE_PORT,
};

-enum _ADAPTER_TYPE {
- PRIMARY_ADAPTER,
- SECONDARY_ADAPTER,
- MAX_ADAPTER,
-};
-
enum driver_state {
DRIVER_NORMAL = 0,
DRIVER_DISAPPEAR = 1,
--
1.7.10.4

2014-06-01 12:19:33

by navin patidar

[permalink] [raw]
Subject: [PATCH 16/26] staging: rtl8188eu: Remove unused enum _IFACE_TYPE


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 6 ------
1 file changed, 6 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index f7db553..9195cf3 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -187,12 +187,6 @@ static inline struct device *dvobj_to_dev(struct dvobj_priv *dvobj)
return &dvobj->pusbintf->dev;
};

-enum _IFACE_TYPE {
- IFACE_PORT0, /* mapping to port0 for C/D series chips */
- IFACE_PORT1, /* mapping to port1 for C/D series chip */
- MAX_IFACE_PORT,
-};
-
enum driver_state {
DRIVER_NORMAL = 0,
DRIVER_DISAPPEAR = 1,
--
1.7.10.4

2014-06-01 12:19:39

by navin patidar

[permalink] [raw]
Subject: [PATCH 17/26] staging: rtl8188eu: Remove enum driver_state


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 6 ------
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 10 ++++------
2 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index 9195cf3..5fa2e17 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -187,12 +187,6 @@ static inline struct device *dvobj_to_dev(struct dvobj_priv *dvobj)
return &dvobj->pusbintf->dev;
};

-enum driver_state {
- DRIVER_NORMAL = 0,
- DRIVER_DISAPPEAR = 1,
- DRIVER_REPLACE_DONGLE = 2,
-};
-
struct adapter {
int DriverState;/* for disable driver using module, use dongle toi
* replace module. */
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 1265a47..4ac67e2 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -606,12 +606,10 @@ static void rtw_usb_if1_deinit(struct adapter *if1)
free_mlme_ap_info(if1);
#endif

- if (if1->DriverState != DRIVER_DISAPPEAR) {
- if (pnetdev) {
- /* will call netdev_close() */
- unregister_netdev(pnetdev);
- rtw_proc_remove_one(pnetdev);
- }
+ if (pnetdev) {
+ /* will call netdev_close() */
+ unregister_netdev(pnetdev);
+ rtw_proc_remove_one(pnetdev);
}
rtw_cancel_all_timer(if1);

--
1.7.10.4

2014-06-01 12:19:45

by navin patidar

[permalink] [raw]
Subject: [PATCH 18/26] staging: rtl8188eu: Remove DriverState from struct adapter


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 2 --
1 file changed, 2 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index 5fa2e17..de3b70c 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -188,8 +188,6 @@ static inline struct device *dvobj_to_dev(struct dvobj_priv *dvobj)
};

struct adapter {
- int DriverState;/* for disable driver using module, use dongle toi
- * replace module. */
int pid[3];/* process id from UI, 0:wps, 1:hostapd, 2:dhcpcd */
int bDongle;/* build-in module or external dongle */
u16 chip_type;
--
1.7.10.4

2014-06-01 12:19:52

by navin patidar

[permalink] [raw]
Subject: [PATCH 19/26] staging: rtl8188eu: Remove unused function rtl8188e_clone_haldata()


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c | 5 -----
drivers/staging/rtl8188eu/include/rtl8188e_hal.h | 1 -
2 files changed, 6 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c b/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
index 6a9c8e2..208b373 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
@@ -1815,11 +1815,6 @@ static void rtl8188e_SetHalODMVar(struct adapter *Adapter, enum hal_odm_variable
}
}

-void rtl8188e_clone_haldata(struct adapter *dst_adapter, struct adapter *src_adapter)
-{
- memcpy(dst_adapter->HalData, src_adapter->HalData, dst_adapter->hal_data_sz);
-}
-
void rtl8188e_start_thread(struct adapter *padapter)
{
}
diff --git a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
index c7fef7a..4b59c8e 100644
--- a/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
+++ b/drivers/staging/rtl8188eu/include/rtl8188e_hal.h
@@ -463,7 +463,6 @@ void rtl8188e_set_hal_ops(struct hal_ops *pHalFunc);
/* register */
void SetBcnCtrlReg(struct adapter *padapter, u8 SetBits, u8 ClearBits);

-void rtl8188e_clone_haldata(struct adapter *dst, struct adapter *src);
void rtl8188e_start_thread(struct adapter *padapter);
void rtl8188e_stop_thread(struct adapter *padapter);

--
1.7.10.4

2014-06-01 12:19:58

by navin patidar

[permalink] [raw]
Subject: [PATCH 20/26] staging: rtl8188eu: Remove hal_data_sz from struct adapter


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/hal/usb_halinit.c | 1 -
drivers/staging/rtl8188eu/include/drv_types.h | 1 -
2 files changed, 2 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c
index 141f85a..8831be5 100644
--- a/drivers/staging/rtl8188eu/hal/usb_halinit.c
+++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c
@@ -2234,7 +2234,6 @@ void rtl8188eu_set_hal_ops(struct adapter *adapt)
adapt->HalData = rtw_zmalloc(sizeof(struct hal_data_8188e));
if (adapt->HalData == NULL)
DBG_88E("cant not alloc memory for HAL DATA\n");
- adapt->hal_data_sz = sizeof(struct hal_data_8188e);

halfunc->hal_power_on = rtl8188eu_InitPowerOn;
halfunc->hal_init = &rtl8188eu_hal_init;
diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index de3b70c..9cdab6a 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -215,7 +215,6 @@ struct adapter {
struct wifidirect_info wdinfo;

void *HalData;
- u32 hal_data_sz;
struct hal_ops HalFunc;

s32 bDriverStopped;
--
1.7.10.4

2014-06-01 12:20:07

by navin patidar

[permalink] [raw]
Subject: [PATCH 21/26] staging: rtl8188eu: Remove unused member variable of struct adapter


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/include/drv_types.h | 10 ----------
1 file changed, 10 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index 9cdab6a..a459206 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -189,7 +189,6 @@ static inline struct device *dvobj_to_dev(struct dvobj_priv *dvobj)

struct adapter {
int pid[3];/* process id from UI, 0:wps, 1:hostapd, 2:dhcpcd */
- int bDongle;/* build-in module or external dongle */
u16 chip_type;

struct dvobj_priv *dvobj;
@@ -221,19 +220,11 @@ struct adapter {
s32 bSurpriseRemoved;
s32 bCardDisableWOHSM;

- u32 IsrContent;
- u32 ImrContent;
-
u8 EepromAddressSize;
u8 hw_init_completed;
- u8 bDriverIsGoingToUnload;
- u8 init_adpt_in_progress;
- u8 bHaltInProgress;

void *cmdThread;
void *evtThread;
- void *xmitThread;
- void *recvThread;
void (*intf_start)(struct adapter *adapter);
void (*intf_stop)(struct adapter *adapter);
struct net_device *pnetdev;
@@ -253,7 +244,6 @@ struct adapter {

int net_closed;
u8 bFWReady;
- u8 bBTFWReady;
u8 bReadPortCancel;
u8 bWritePortCancel;
u8 bRxRSSIDisplay;
--
1.7.10.4

2014-06-01 12:20:14

by navin patidar

[permalink] [raw]
Subject: [PATCH 22/26] staging: rtl8188eu:Remove EepromAddressSize from struct adapter


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/hal/usb_halinit.c | 3 ---
drivers/staging/rtl8188eu/include/drv_types.h | 1 -
2 files changed, 4 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c
index 8831be5..e60b5e9 100644
--- a/drivers/staging/rtl8188eu/hal/usb_halinit.c
+++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c
@@ -1203,9 +1203,6 @@ static int _ReadAdapterInfo8188EU(struct adapter *Adapter)

static void ReadAdapterInfo8188EU(struct adapter *Adapter)
{
- /* Read EEPROM size before call any EEPROM function */
- Adapter->EepromAddressSize = GetEEPROMSize8188E(Adapter);
-
_ReadAdapterInfo8188EU(Adapter);
}

diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index a459206..ec9ad4a 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -220,7 +220,6 @@ struct adapter {
s32 bSurpriseRemoved;
s32 bCardDisableWOHSM;

- u8 EepromAddressSize;
u8 hw_init_completed;

void *cmdThread;
--
1.7.10.4

2014-06-01 12:20:20

by navin patidar

[permalink] [raw]
Subject: [PATCH 23/26] staging: rtl8188eu: Remove pbuddy_adapter from struct adapter


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/core/rtw_pwrctrl.c | 19 -------------------
drivers/staging/rtl8188eu/include/drv_types.h | 1 -
drivers/staging/rtl8188eu/os_dep/os_intfs.c | 4 ----
3 files changed, 24 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c b/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
index 739e250..b8d66fa 100644
--- a/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
+++ b/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
@@ -114,7 +114,6 @@ int ips_leave(struct adapter *padapter)

static bool rtw_pwr_unassociated_idle(struct adapter *adapter)
{
- struct adapter *buddy = adapter->pbuddy_adapter;
struct mlme_priv *pmlmepriv = &(adapter->mlmepriv);
#ifdef CONFIG_88EU_P2P
struct wifidirect_info *pwdinfo = &(adapter->wdinfo);
@@ -136,24 +135,6 @@ static bool rtw_pwr_unassociated_idle(struct adapter *adapter)
#endif
goto exit;

- /* consider buddy, if exist */
- if (buddy) {
- struct mlme_priv *b_pmlmepriv = &(buddy->mlmepriv);
- #ifdef CONFIG_88EU_P2P
- struct wifidirect_info *b_pwdinfo = &(buddy->wdinfo);
- #endif
-
- if (check_fwstate(b_pmlmepriv, WIFI_ASOC_STATE|WIFI_SITE_MONITOR) ||
- check_fwstate(b_pmlmepriv, WIFI_UNDER_LINKING|WIFI_UNDER_WPS) ||
- check_fwstate(b_pmlmepriv, WIFI_AP_STATE) ||
- check_fwstate(b_pmlmepriv, WIFI_ADHOC_MASTER_STATE|WIFI_ADHOC_STATE) ||
-#if defined(CONFIG_88EU_P2P)
- !rtw_p2p_chk_state(b_pwdinfo, P2P_STATE_NONE))
-#else
- 0)
-#endif
- goto exit;
- }
ret = true;

exit:
diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index ec9ad4a..1676bb4 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -254,7 +254,6 @@ struct adapter {
* upper application reads it. */
u8 bShowGetP2PState;
#endif
- struct adapter *pbuddy_adapter;

struct mutex hw_init_mutex;

diff --git a/drivers/staging/rtl8188eu/os_dep/os_intfs.c b/drivers/staging/rtl8188eu/os_dep/os_intfs.c
index c9906e3..2df27c7 100644
--- a/drivers/staging/rtl8188eu/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8188eu/os_dep/os_intfs.c
@@ -993,10 +993,6 @@ u8 rtw_free_drv_sw(struct adapter *padapter)
padapter->rereg_nd_name_priv.old_pnetdev = NULL;
}

- /* clear pbuddystruct adapter to avoid access wrong pointer. */
- if (padapter->pbuddy_adapter != NULL)
- padapter->pbuddy_adapter->pbuddy_adapter = NULL;
-
mutex_destroy(&padapter->hw_init_mutex);

RT_TRACE(_module_os_intfs_c_, _drv_info_, ("-rtw_free_drv_sw\n"));
--
1.7.10.4

2014-06-01 12:20:32

by navin patidar

[permalink] [raw]
Subject: [PATCH 25/26] staging: rtl8188eu: Remove unused function nat25_handle_frame()


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/Makefile | 32 ++++++-------
drivers/staging/rtl8188eu/core/rtw_br_ext.c | 61 ------------------------
drivers/staging/rtl8188eu/include/recv_osdep.h | 1 -
3 files changed, 16 insertions(+), 78 deletions(-)

diff --git a/drivers/staging/rtl8188eu/Makefile b/drivers/staging/rtl8188eu/Makefile
index 2ed35a0..450394e 100644
--- a/drivers/staging/rtl8188eu/Makefile
+++ b/drivers/staging/rtl8188eu/Makefile
@@ -1,4 +1,19 @@
r8188eu-y := \
+ hal/rtl8188e_xmit.o \
+ hal/rtl8188eu_led.o \
+ hal/rtl8188eu_recv.o \
+ hal/rtl8188eu_xmit.o \
+ hal/usb_halinit.o \
+ hal/usb_ops_linux.o \
+ os_dep/ioctl_linux.o \
+ os_dep/mlme_linux.o \
+ os_dep/os_intfs.o \
+ os_dep/osdep_service.o \
+ os_dep/recv_linux.o \
+ os_dep/rtw_android.o \
+ os_dep/usb_intf.o \
+ os_dep/usb_ops_linux.o \
+ os_dep/xmit_linux.o \
core/rtw_ap.o \
core/rtw_br_ext.o \
core/rtw_cmd.o \
@@ -42,22 +57,7 @@ r8188eu-y := \
hal/rtl8188e_mp.o \
hal/rtl8188e_phycfg.o \
hal/rtl8188e_rf6052.o \
- hal/rtl8188e_rxdesc.o \
- hal/rtl8188e_xmit.o \
- hal/rtl8188eu_led.o \
- hal/rtl8188eu_recv.o \
- hal/rtl8188eu_xmit.o \
- hal/usb_halinit.o \
- hal/usb_ops_linux.o \
- os_dep/ioctl_linux.o \
- os_dep/mlme_linux.o \
- os_dep/os_intfs.o \
- os_dep/osdep_service.o \
- os_dep/recv_linux.o \
- os_dep/rtw_android.o \
- os_dep/usb_intf.o \
- os_dep/usb_ops_linux.o \
- os_dep/xmit_linux.o
+ hal/rtl8188e_rxdesc.o

obj-$(CONFIG_R8188EU) := r8188eu.o

diff --git a/drivers/staging/rtl8188eu/core/rtw_br_ext.c b/drivers/staging/rtl8188eu/core/rtw_br_ext.c
index f97f05f..3f602bc 100644
--- a/drivers/staging/rtl8188eu/core/rtw_br_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_br_ext.c
@@ -1042,67 +1042,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
return -1;
}

-int nat25_handle_frame(struct adapter *priv, struct sk_buff *skb)
-{
- if (!(skb->data[0] & 1)) {
- int is_vlan_tag = 0, i, retval = 0;
- unsigned short vlan_hdr = 0;
- unsigned short protocol;
-
- protocol = be16_to_cpu(*((__be16 *)(skb->data + 2 * ETH_ALEN)));
- if (protocol == ETH_P_8021Q) {
- is_vlan_tag = 1;
- vlan_hdr = *((unsigned short *)(skb->data+ETH_ALEN*2+2));
- for (i = 0; i < 6; i++)
- *((unsigned short *)(skb->data+ETH_ALEN*2+2-i*2)) = *((unsigned short *)(skb->data+ETH_ALEN*2-2-i*2));
- skb_pull(skb, 4);
- }
-
- if (!priv->ethBrExtInfo.nat25_disable) {
- spin_lock_bh(&priv->br_ext_lock);
- /*
- * This function look up the destination network address from
- * the NAT2.5 database. Return value = -1 means that the
- * corresponding network protocol is NOT support.
- */
- if (!priv->ethBrExtInfo.nat25sc_disable &&
- (be16_to_cpu(*((__be16 *)(skb->data+ETH_ALEN*2))) == ETH_P_IP) &&
- !memcmp(priv->scdb_ip, skb->data+ETH_HLEN+16, 4)) {
- memcpy(skb->data, priv->scdb_mac, ETH_ALEN);
-
- spin_unlock_bh(&priv->br_ext_lock);
- } else {
- spin_unlock_bh(&priv->br_ext_lock);
-
- retval = nat25_db_handle(priv, skb, NAT25_LOOKUP);
- }
- } else {
- if (((be16_to_cpu(*((__be16 *)(skb->data+ETH_ALEN*2))) == ETH_P_IP) &&
- !memcmp(priv->br_ip, skb->data+ETH_HLEN+16, 4)) ||
- ((be16_to_cpu(*((__be16 *)(skb->data+ETH_ALEN*2))) == ETH_P_ARP) &&
- !memcmp(priv->br_ip, skb->data+ETH_HLEN+24, 4))) {
- /* for traffic to upper TCP/IP */
- retval = nat25_db_handle(priv, skb, NAT25_LOOKUP);
- }
- }
-
- if (is_vlan_tag) {
- skb_push(skb, 4);
- for (i = 0; i < 6; i++)
- *((unsigned short *)(skb->data+i*2)) = *((unsigned short *)(skb->data+4+i*2));
- *((__be16 *)(skb->data+ETH_ALEN*2)) = __constant_htons(ETH_P_8021Q);
- *((unsigned short *)(skb->data+ETH_ALEN*2+2)) = vlan_hdr;
- }
-
- if (retval == -1) {
- /* DEBUG_ERR("NAT25: Lookup fail!\n"); */
- return -1;
- }
- }
-
- return 0;
-}
-
#define SERVER_PORT 67
#define CLIENT_PORT 68
#define DHCP_MAGIC 0x63825363
diff --git a/drivers/staging/rtl8188eu/include/recv_osdep.h b/drivers/staging/rtl8188eu/include/recv_osdep.h
index a4fd957..a52a696 100644
--- a/drivers/staging/rtl8188eu/include/recv_osdep.h
+++ b/drivers/staging/rtl8188eu/include/recv_osdep.h
@@ -46,7 +46,6 @@ int rtw_os_recvbuf_resource_alloc(struct adapter *adapt, struct recv_buf *buf);
void rtw_os_read_port(struct adapter *padapter, struct recv_buf *precvbuf);

void rtw_init_recv_timer(struct recv_reorder_ctrl *preorder_ctrl);
-int nat25_handle_frame(struct adapter *priv, struct sk_buff *skb);
int _netdev_open(struct net_device *pnetdev);
int netdev_open(struct net_device *pnetdev);
int netdev_close(struct net_device *pnetdev);
--
1.7.10.4

2014-06-01 12:20:43

by navin patidar

[permalink] [raw]
Subject: [PATCH 26/26] staging: rtl8188eu: Remove function with empty defination()


Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/core/rtw_br_ext.c | 12 ------------
1 file changed, 12 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_br_ext.c b/drivers/staging/rtl8188eu/core/rtw_br_ext.c
index 3f602bc..70b8f07 100644
--- a/drivers/staging/rtl8188eu/core/rtw_br_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_br_ext.c
@@ -431,10 +431,6 @@ static void __nat25_db_network_insert(struct adapter *priv,
spin_unlock_bh(&priv->br_ext_lock);
}

-static void __nat25_db_print(struct adapter *priv)
-{
-}
-
/*
* NAT2.5 interface
*/
@@ -534,7 +530,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
/* record source IP address and , source mac address into db */
__nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr);

- __nat25_db_print(priv);
return 0;
case NAT25_LOOKUP:
DEBUG_INFO("NAT25: Lookup IP, SA =%08x, DA =%08x\n", iph->saddr, iph->daddr);
@@ -587,7 +582,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
sender = (unsigned int *)arp_ptr;
__nat25_generate_ipv4_network_addr(networkAddr, sender);
__nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr);
- __nat25_db_print(priv);
return 0;
case NAT25_LOOKUP:
DEBUG_INFO("NAT25: Lookup ARP\n");
@@ -707,7 +701,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
__nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_source.net, ipx->ipx_source.node);
}
__nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr);
- __nat25_db_print(priv);
return 0;
case NAT25_LOOKUP:
if (!memcmp(GET_MY_HWADDR(priv), ipx->ipx_dest.node, ETH_ALEN)) {
@@ -752,7 +745,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)

__nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr);

- __nat25_db_print(priv);
return 0;
case NAT25_LOOKUP:
DEBUG_INFO("NAT25: Lookup AARP, Source =%d,%d Destination =%d,%d\n",
@@ -786,7 +778,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)

__nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr);

- __nat25_db_print(priv);
return 0;
case NAT25_LOOKUP:
DEBUG_INFO("NAT25: Lookup DDP, Source =%d,%d Destination =%d,%d\n",
@@ -879,7 +870,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)

__nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr);

- __nat25_db_print(priv);

if (!priv->ethBrExtInfo.addPPPoETag &&
priv->pppoe_connection_in_progress &&
@@ -945,7 +935,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
DEBUG_INFO("NAT25: Lookup PPPoE, lookup session packet from %s\n", skb->dev->name);
__nat25_generate_pppoe_network_addr(networkAddr, skb->data+ETH_ALEN, &(ph->sid));
__nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
- __nat25_db_print(priv);
} else {
return -1;
}
@@ -1009,7 +998,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
if (memcmp(&iph->saddr, "\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0\x0", 16)) {
__nat25_generate_ipv6_network_addr(networkAddr, (__be32 *)&iph->saddr);
__nat25_db_network_insert(priv, skb->data+ETH_ALEN, networkAddr);
- __nat25_db_print(priv);

if (iph->nexthdr == IPPROTO_ICMPV6 &&
skb->len > (ETH_HLEN + sizeof(*iph) + 4)) {
--
1.7.10.4

2014-06-01 12:20:29

by navin patidar

[permalink] [raw]
Subject: [PATCH 24/26] staging: rtl8188eu: Remove bCardDisableWOHSM from struct adapter

driver doesn't use value stored in bCardDisableWOHSM.

Signed-off-by: navin patidar <[email protected]>
---
drivers/staging/rtl8188eu/core/rtw_pwrctrl.c | 1 -
drivers/staging/rtl8188eu/include/drv_types.h | 1 -
drivers/staging/rtl8188eu/os_dep/os_intfs.c | 4 ----
3 files changed, 6 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c b/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
index b8d66fa..599f2b6 100644
--- a/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
+++ b/drivers/staging/rtl8188eu/core/rtw_pwrctrl.c
@@ -160,7 +160,6 @@ void rtw_ps_processor(struct adapter *padapter)
if (rfpwrstate == rf_off) {
pwrpriv->change_rfpwrstate = rf_off;
pwrpriv->brfoffbyhw = true;
- padapter->bCardDisableWOHSM = true;
rtw_hw_suspend(padapter);
} else {
pwrpriv->change_rfpwrstate = rf_on;
diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h
index 1676bb4..974f12f 100644
--- a/drivers/staging/rtl8188eu/include/drv_types.h
+++ b/drivers/staging/rtl8188eu/include/drv_types.h
@@ -218,7 +218,6 @@ struct adapter {

s32 bDriverStopped;
s32 bSurpriseRemoved;
- s32 bCardDisableWOHSM;

u8 hw_init_completed;

diff --git a/drivers/staging/rtl8188eu/os_dep/os_intfs.c b/drivers/staging/rtl8188eu/os_dep/os_intfs.c
index 2df27c7..1d961bd 100644
--- a/drivers/staging/rtl8188eu/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8188eu/os_dep/os_intfs.c
@@ -1042,7 +1042,6 @@ int _netdev_open(struct net_device *pnetdev)
if (!padapter->bup) {
padapter->bDriverStopped = false;
padapter->bSurpriseRemoved = false;
- padapter->bCardDisableWOHSM = false;

status = rtw_hal_init(padapter);
if (status == _FAIL) {
@@ -1117,7 +1116,6 @@ static int ips_netdrv_open(struct adapter *padapter)

padapter->bDriverStopped = false;
padapter->bSurpriseRemoved = false;
- padapter->bCardDisableWOHSM = false;

status = rtw_hal_init(padapter);
if (status == _FAIL) {
@@ -1160,13 +1158,11 @@ void rtw_ips_pwr_down(struct adapter *padapter)
u32 start_time = jiffies;
DBG_88E("===> rtw_ips_pwr_down...................\n");

- padapter->bCardDisableWOHSM = true;
padapter->net_closed = true;

rtw_led_control(padapter, LED_CTL_POWER_OFF);

rtw_ips_dev_unload(padapter);
- padapter->bCardDisableWOHSM = false;
DBG_88E("<=== rtw_ips_pwr_down..................... in %dms\n", rtw_get_passing_time_ms(start_time));
}

--
1.7.10.4

2014-06-02 09:08:57

by Dan Carpenter

[permalink] [raw]
Subject: Re: [PATCH 26/26] staging: rtl8188eu: Remove function with empty defination()

These all look great. Thanks. :)

regards,
dan carpenter

2014-06-08 14:05:06

by navin patidar

[permalink] [raw]
Subject: [PATCH v2 25/26] staging: rtl8188eu: Remove unused function nat25_handle_frame()


Signed-off-by: navin patidar <[email protected]>
---
V2:
Restore sequence of source code compilation, sequence was changed by v1
of this patch.

drivers/staging/rtl8188eu/core/rtw_br_ext.c | 61 ------------------------
drivers/staging/rtl8188eu/include/recv_osdep.h | 1 -
2 files changed, 62 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_br_ext.c b/drivers/staging/rtl8188eu/core/rtw_br_ext.c
index 9d9e89a..70b8f07 100644
--- a/drivers/staging/rtl8188eu/core/rtw_br_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_br_ext.c
@@ -1030,67 +1030,6 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
return -1;
}

-int nat25_handle_frame(struct adapter *priv, struct sk_buff *skb)
-{
- if (!(skb->data[0] & 1)) {
- int is_vlan_tag = 0, i, retval = 0;
- unsigned short vlan_hdr = 0;
- unsigned short protocol;
-
- protocol = be16_to_cpu(*((__be16 *)(skb->data + 2 * ETH_ALEN)));
- if (protocol == ETH_P_8021Q) {
- is_vlan_tag = 1;
- vlan_hdr = *((unsigned short *)(skb->data+ETH_ALEN*2+2));
- for (i = 0; i < 6; i++)
- *((unsigned short *)(skb->data+ETH_ALEN*2+2-i*2)) = *((unsigned short *)(skb->data+ETH_ALEN*2-2-i*2));
- skb_pull(skb, 4);
- }
-
- if (!priv->ethBrExtInfo.nat25_disable) {
- spin_lock_bh(&priv->br_ext_lock);
- /*
- * This function look up the destination network address from
- * the NAT2.5 database. Return value = -1 means that the
- * corresponding network protocol is NOT support.
- */
- if (!priv->ethBrExtInfo.nat25sc_disable &&
- (be16_to_cpu(*((__be16 *)(skb->data+ETH_ALEN*2))) == ETH_P_IP) &&
- !memcmp(priv->scdb_ip, skb->data+ETH_HLEN+16, 4)) {
- memcpy(skb->data, priv->scdb_mac, ETH_ALEN);
-
- spin_unlock_bh(&priv->br_ext_lock);
- } else {
- spin_unlock_bh(&priv->br_ext_lock);
-
- retval = nat25_db_handle(priv, skb, NAT25_LOOKUP);
- }
- } else {
- if (((be16_to_cpu(*((__be16 *)(skb->data+ETH_ALEN*2))) == ETH_P_IP) &&
- !memcmp(priv->br_ip, skb->data+ETH_HLEN+16, 4)) ||
- ((be16_to_cpu(*((__be16 *)(skb->data+ETH_ALEN*2))) == ETH_P_ARP) &&
- !memcmp(priv->br_ip, skb->data+ETH_HLEN+24, 4))) {
- /* for traffic to upper TCP/IP */
- retval = nat25_db_handle(priv, skb, NAT25_LOOKUP);
- }
- }
-
- if (is_vlan_tag) {
- skb_push(skb, 4);
- for (i = 0; i < 6; i++)
- *((unsigned short *)(skb->data+i*2)) = *((unsigned short *)(skb->data+4+i*2));
- *((__be16 *)(skb->data+ETH_ALEN*2)) = __constant_htons(ETH_P_8021Q);
- *((unsigned short *)(skb->data+ETH_ALEN*2+2)) = vlan_hdr;
- }
-
- if (retval == -1) {
- /* DEBUG_ERR("NAT25: Lookup fail!\n"); */
- return -1;
- }
- }
-
- return 0;
-}
-
#define SERVER_PORT 67
#define CLIENT_PORT 68
#define DHCP_MAGIC 0x63825363
diff --git a/drivers/staging/rtl8188eu/include/recv_osdep.h b/drivers/staging/rtl8188eu/include/recv_osdep.h
index a4fd957..a52a696 100644
--- a/drivers/staging/rtl8188eu/include/recv_osdep.h
+++ b/drivers/staging/rtl8188eu/include/recv_osdep.h
@@ -46,7 +46,6 @@ int rtw_os_recvbuf_resource_alloc(struct adapter *adapt, struct recv_buf *buf);
void rtw_os_read_port(struct adapter *padapter, struct recv_buf *precvbuf);

void rtw_init_recv_timer(struct recv_reorder_ctrl *preorder_ctrl);
-int nat25_handle_frame(struct adapter *priv, struct sk_buff *skb);
int _netdev_open(struct net_device *pnetdev);
int netdev_open(struct net_device *pnetdev);
int netdev_close(struct net_device *pnetdev);
--
1.7.10.4