All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/10] staging: rtl8188eu: remove unused macros
@ 2021-04-07 17:05 Martin Kaiser
  2021-04-07 17:05 ` [PATCH 02/10] staging: rtl8188eu: remove unnecessary brackets Martin Kaiser
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-07 17:05 UTC (permalink / raw)
  To: Larry Finger, Greg Kroah-Hartman
  Cc: linux-staging, kernel-janitors, linux-kernel, Martin Kaiser

usb_ops_linux.h contains a couple of macros to make functions usable as
urb completion callbacks. Most of them are unused and can be removed.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/rtl8188eu/include/usb_ops_linux.h | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/usb_ops_linux.h b/drivers/staging/rtl8188eu/include/usb_ops_linux.h
index 4e0e48cb5c8e..1a0b38de5027 100644
--- a/drivers/staging/rtl8188eu/include/usb_ops_linux.h
+++ b/drivers/staging/rtl8188eu/include/usb_ops_linux.h
@@ -23,18 +23,10 @@
 #define USB_HIGH_SPEED_BULK_SIZE	512
 #define USB_FULL_SPEED_BULK_SIZE	64
 
-#define _usbctrl_vendorreq_async_callback(urb, regs)	\
-	_usbctrl_vendorreq_async_callback(urb)
-#define usb_bulkout_zero_complete(purb, regs)		\
-	usb_bulkout_zero_complete(purb)
-#define usb_write_mem_complete(purb, regs)		\
-	usb_write_mem_complete(purb)
 #define usb_write_port_complete(purb, regs)		\
 	usb_write_port_complete(purb)
 #define usb_read_port_complete(purb, regs)		\
 	usb_read_port_complete(purb)
-#define usb_read_interrupt_complete(purb, regs)		\
-	usb_read_interrupt_complete(purb)
 
 unsigned int ffaddr2pipehdl(struct dvobj_priv *pdvobj, u32 addr);
 
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 02/10] staging: rtl8188eu: remove unnecessary brackets
  2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
@ 2021-04-07 17:05 ` Martin Kaiser
  2021-04-07 17:05 ` [PATCH 03/10] staging: rtl8188eu: remove unused defines Martin Kaiser
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-07 17:05 UTC (permalink / raw)
  To: Larry Finger, Greg Kroah-Hartman
  Cc: linux-staging, kernel-janitors, linux-kernel, Martin Kaiser

ESHUTDOWN is just a number, it needs no brackets.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index 8e9fd9d4afda..74f34440fc8c 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -267,7 +267,7 @@ usbctrl_vendorreq(struct adapter *adapt, u16 value, void *pdata, u16 len, u8 req
 				len, status, *(u32 *)pdata, vendorreq_times);
 
 			if (status < 0) {
-				if (status == (-ESHUTDOWN) || status == -ENODEV)
+				if (status == -ESHUTDOWN || status == -ENODEV)
 					adapt->bSurpriseRemoved = true;
 				else
 					adapt->HalData->srestpriv.wifi_error_status = USB_VEN_REQ_CMD_FAIL;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 03/10] staging: rtl8188eu: remove unused defines
  2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
  2021-04-07 17:05 ` [PATCH 02/10] staging: rtl8188eu: remove unnecessary brackets Martin Kaiser
@ 2021-04-07 17:05 ` Martin Kaiser
  2021-04-07 17:05 ` [PATCH 04/10] staging: rtl8188eu: move defines into the .c file Martin Kaiser
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-07 17:05 UTC (permalink / raw)
  To: Larry Finger, Greg Kroah-Hartman
  Cc: linux-staging, kernel-janitors, linux-kernel, Martin Kaiser

Some defines in usb_ops_linux.h are not used by the rtl8188eu driver.
Remove them.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/rtl8188eu/include/usb_ops_linux.h | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/usb_ops_linux.h b/drivers/staging/rtl8188eu/include/usb_ops_linux.h
index 1a0b38de5027..36a53239d5df 100644
--- a/drivers/staging/rtl8188eu/include/usb_ops_linux.h
+++ b/drivers/staging/rtl8188eu/include/usb_ops_linux.h
@@ -7,15 +7,10 @@
 #ifndef __USB_OPS_LINUX_H__
 #define __USB_OPS_LINUX_H__
 
-#define VENDOR_CMD_MAX_DATA_LEN	254
-
-#define RTW_USB_CONTROL_MSG_TIMEOUT_TEST	10/* ms */
 #define RTW_USB_CONTROL_MSG_TIMEOUT	500/* ms */
 
 #define MAX_USBCTRL_VENDORREQ_TIMES	10
 
-#define RTW_USB_BULKOUT_TIME	5000/* ms */
-
 #define ALIGNMENT_UNIT			16
 #define MAX_VENDOR_REQ_CMD_SIZE	254	/* 8188cu SIE Support */
 #define MAX_USB_IO_CTL_SIZE	(MAX_VENDOR_REQ_CMD_SIZE + ALIGNMENT_UNIT)
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 04/10] staging: rtl8188eu: move defines into the .c file
  2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
  2021-04-07 17:05 ` [PATCH 02/10] staging: rtl8188eu: remove unnecessary brackets Martin Kaiser
  2021-04-07 17:05 ` [PATCH 03/10] staging: rtl8188eu: remove unused defines Martin Kaiser
@ 2021-04-07 17:05 ` Martin Kaiser
  2021-04-07 17:05 ` [PATCH 05/10] staging: rtl8188eu: set pipe only once Martin Kaiser
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-07 17:05 UTC (permalink / raw)
  To: Larry Finger, Greg Kroah-Hartman
  Cc: linux-staging, kernel-janitors, linux-kernel, Martin Kaiser

Some of the defines from usb_ops_linux.h are used only inside
usb_ops_linux.c. Move them to the .c file.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/rtl8188eu/include/usb_ops_linux.h | 8 --------
 drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c  | 8 ++++++++
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/rtl8188eu/include/usb_ops_linux.h b/drivers/staging/rtl8188eu/include/usb_ops_linux.h
index 36a53239d5df..2f4976d251a1 100644
--- a/drivers/staging/rtl8188eu/include/usb_ops_linux.h
+++ b/drivers/staging/rtl8188eu/include/usb_ops_linux.h
@@ -7,14 +7,6 @@
 #ifndef __USB_OPS_LINUX_H__
 #define __USB_OPS_LINUX_H__
 
-#define RTW_USB_CONTROL_MSG_TIMEOUT	500/* ms */
-
-#define MAX_USBCTRL_VENDORREQ_TIMES	10
-
-#define ALIGNMENT_UNIT			16
-#define MAX_VENDOR_REQ_CMD_SIZE	254	/* 8188cu SIE Support */
-#define MAX_USB_IO_CTL_SIZE	(MAX_VENDOR_REQ_CMD_SIZE + ALIGNMENT_UNIT)
-
 #define USB_HIGH_SPEED_BULK_SIZE	512
 #define USB_FULL_SPEED_BULK_SIZE	64
 
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index 74f34440fc8c..13d2733b2b1b 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -10,6 +10,14 @@
 #include <recv_osdep.h>
 #include <rtw_sreset.h>
 
+#define RTW_USB_CONTROL_MSG_TIMEOUT	500 /* ms */
+
+#define MAX_USBCTRL_VENDORREQ_TIMES	10
+
+#define ALIGNMENT_UNIT			16
+#define MAX_VENDOR_REQ_CMD_SIZE	254
+#define MAX_USB_IO_CTL_SIZE	(MAX_VENDOR_REQ_CMD_SIZE + ALIGNMENT_UNIT)
+
 #define REALTEK_USB_VENQT_READ	(USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE)
 #define REALTEK_USB_VENQT_WRITE	(USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE)
 
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 05/10] staging: rtl8188eu: set pipe only once
  2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
                   ` (2 preceding siblings ...)
  2021-04-07 17:05 ` [PATCH 04/10] staging: rtl8188eu: move defines into the .c file Martin Kaiser
@ 2021-04-07 17:05 ` Martin Kaiser
  2021-04-07 17:05 ` [PATCH 06/10] staging: rtl8188eu: clean up rtw_recv_entry Martin Kaiser
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-07 17:05 UTC (permalink / raw)
  To: Larry Finger, Greg Kroah-Hartman
  Cc: linux-staging, kernel-janitors, linux-kernel, Martin Kaiser

Set the pipe for reading or writing in usbctrl_vendorreq only once. There's
no need to set it again for every retry.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 .../staging/rtl8188eu/os_dep/usb_ops_linux.c  | 22 ++++++++++---------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
index 13d2733b2b1b..f2fa4fb3595f 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_ops_linux.c
@@ -249,18 +249,20 @@ usbctrl_vendorreq(struct adapter *adapt, u16 value, void *pdata, u16 len, u8 req
 		goto release_mutex;
 	}
 
-	while (++vendorreq_times <= MAX_USBCTRL_VENDORREQ_TIMES) {
-		memset(pIo_buf, 0, len);
+	if (reqtype == REALTEK_USB_VENQT_READ) {
+		pipe = usb_rcvctrlpipe(udev, 0);
+	} else if (reqtype == REALTEK_USB_VENQT_WRITE) {
+		pipe = usb_sndctrlpipe(udev, 0);
+	} else {
+		status = -EINVAL;
+		goto free_buf;
+	}
 
-		if (reqtype == REALTEK_USB_VENQT_READ) {
-			pipe = usb_rcvctrlpipe(udev, 0);/* read_in */
-		} else if (reqtype == REALTEK_USB_VENQT_WRITE) {
-			pipe = usb_sndctrlpipe(udev, 0);/* write_out */
+	while (++vendorreq_times <= MAX_USBCTRL_VENDORREQ_TIMES) {
+		if (reqtype == REALTEK_USB_VENQT_READ)
+			memset(pIo_buf, 0, len);
+		else
 			memcpy(pIo_buf, pdata, len);
-		} else {
-			status = -EINVAL;
-			goto free_buf;
-		}
 
 		status = usb_control_msg(udev, pipe, REALTEK_USB_VENQT_CMD_REQ,
 					 reqtype, value, REALTEK_USB_VENQT_CMD_IDX,
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 06/10] staging: rtl8188eu: clean up rtw_recv_entry
  2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
                   ` (3 preceding siblings ...)
  2021-04-07 17:05 ` [PATCH 05/10] staging: rtl8188eu: set pipe only once Martin Kaiser
@ 2021-04-07 17:05 ` Martin Kaiser
  2021-04-07 17:05 ` [PATCH 07/10] staging: rtl8188eu: remove unnecessary variable Martin Kaiser
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-07 17:05 UTC (permalink / raw)
  To: Larry Finger, Greg Kroah-Hartman
  Cc: linux-staging, kernel-janitors, linux-kernel, Martin Kaiser

Change the return type to int, the function returns 0 or 1.
Remove the goto statement, we're not doing any cleanup on exit.
Summarize variable declarations and assignments.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/rtl8188eu/core/rtw_recv.c | 23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_recv.c b/drivers/staging/rtl8188eu/core/rtw_recv.c
index b9b4bc435037..b2fe448d999d 100644
--- a/drivers/staging/rtl8188eu/core/rtw_recv.c
+++ b/drivers/staging/rtl8188eu/core/rtw_recv.c
@@ -1962,27 +1962,18 @@ static int recv_func(struct adapter *padapter, struct recv_frame *rframe)
 	return ret;
 }
 
-s32 rtw_recv_entry(struct recv_frame *precvframe)
+int rtw_recv_entry(struct recv_frame *precvframe)
 {
-	struct adapter *padapter;
-	struct recv_priv *precvpriv;
-	s32 ret = _SUCCESS;
-
-	padapter = precvframe->adapter;
-
-	precvpriv = &padapter->recvpriv;
+	struct adapter *padapter = precvframe->adapter;
+	struct recv_priv *precvpriv = &padapter->recvpriv;
+	int ret;
 
 	ret = recv_func(padapter, precvframe);
-	if (ret == _FAIL) {
+	if (ret == _SUCCESS)
+		precvpriv->rx_pkts++;
+	else
 		RT_TRACE(_module_rtl871x_recv_c_, _drv_info_, ("%s: recv_func return fail!!!\n", __func__));
-		goto _recv_entry_drop;
-	}
-
-	precvpriv->rx_pkts++;
-
-	return ret;
 
-_recv_entry_drop:
 	return ret;
 }
 
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 07/10] staging: rtl8188eu: remove unnecessary variable
  2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
                   ` (4 preceding siblings ...)
  2021-04-07 17:05 ` [PATCH 06/10] staging: rtl8188eu: clean up rtw_recv_entry Martin Kaiser
@ 2021-04-07 17:05 ` Martin Kaiser
  2021-04-07 17:05 ` [PATCH 08/10] staging: rtl8188eu: rtw_usb_if1_init needs no dvobj parameter Martin Kaiser
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-07 17:05 UTC (permalink / raw)
  To: Larry Finger, Greg Kroah-Hartman
  Cc: linux-staging, kernel-janitors, linux-kernel, Martin Kaiser

We just want to check if rtw_usb_if1_init returns NULL, which means there
was an error.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/rtl8188eu/os_dep/usb_intf.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index fba0af36d302..f173db5e7db9 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -450,7 +450,6 @@ static void rtw_usb_if1_deinit(struct adapter *if1)
 
 static int rtw_drv_init(struct usb_interface *pusb_intf, const struct usb_device_id *pdid)
 {
-	struct adapter *if1 = NULL;
 	struct dvobj_priv *dvobj;
 
 	/* Initialize dvobj_priv */
@@ -461,9 +460,8 @@ static int rtw_drv_init(struct usb_interface *pusb_intf, const struct usb_device
 		goto exit;
 	}
 
-	if1 = rtw_usb_if1_init(dvobj, pusb_intf);
-	if (!if1) {
-		pr_debug("rtw_init_primarystruct adapter Failed!\n");
+	if (!rtw_usb_if1_init(dvobj, pusb_intf)) {
+		pr_debug("rtw_usb_if1_init failed\n");
 		goto free_dvobj;
 	}
 
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 08/10] staging: rtl8188eu: rtw_usb_if1_init needs no dvobj parameter
  2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
                   ` (5 preceding siblings ...)
  2021-04-07 17:05 ` [PATCH 07/10] staging: rtl8188eu: remove unnecessary variable Martin Kaiser
@ 2021-04-07 17:05 ` Martin Kaiser
  2021-04-07 17:05 ` [PATCH 09/10] staging: rtl8188eu: make usb_dvobj_init return a status Martin Kaiser
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-07 17:05 UTC (permalink / raw)
  To: Larry Finger, Greg Kroah-Hartman
  Cc: linux-staging, kernel-janitors, linux-kernel, Martin Kaiser

rtw_usb_if1_init receives a pointer to struct usb_interface. dvobj is the
interface data for this interface.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/rtl8188eu/os_dep/usb_intf.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index f173db5e7db9..301dab65b571 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -322,9 +322,9 @@ static int rtw_resume(struct usb_interface *pusb_intf)
  *        We accept the new device by returning 0.
  */
 
-static struct adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj,
-					struct usb_interface *pusb_intf)
+static struct adapter *rtw_usb_if1_init(struct usb_interface *pusb_intf)
 {
+	struct dvobj_priv *dvobj = usb_get_intfdata(pusb_intf);
 	struct adapter *padapter;
 	struct net_device *pnetdev;
 	struct net_device *pmondev;
@@ -460,7 +460,7 @@ static int rtw_drv_init(struct usb_interface *pusb_intf, const struct usb_device
 		goto exit;
 	}
 
-	if (!rtw_usb_if1_init(dvobj, pusb_intf)) {
+	if (!rtw_usb_if1_init(pusb_intf)) {
 		pr_debug("rtw_usb_if1_init failed\n");
 		goto free_dvobj;
 	}
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 09/10] staging: rtl8188eu: make usb_dvobj_init return a status
  2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
                   ` (6 preceding siblings ...)
  2021-04-07 17:05 ` [PATCH 08/10] staging: rtl8188eu: rtw_usb_if1_init needs no dvobj parameter Martin Kaiser
@ 2021-04-07 17:05 ` Martin Kaiser
  2021-04-07 17:05 ` [PATCH 10/10] staging: rtl8188eu: make rtw_usb_if1_init " Martin Kaiser
  2021-04-08  7:26 ` [PATCH 01/10] staging: rtl8188eu: remove unused macros Greg Kroah-Hartman
  9 siblings, 0 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-07 17:05 UTC (permalink / raw)
  To: Larry Finger, Greg Kroah-Hartman
  Cc: linux-staging, kernel-janitors, linux-kernel, Martin Kaiser

usb_dvobj_init populates a struct dvobj_priv and installs it as interface
data of the usb interface. There's no point in returning this struct to the
caller, it makes more sense to return an error status.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 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 301dab65b571..71ef7941f688 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -48,7 +48,7 @@ static const struct usb_device_id rtw_usb_id_tbl[] = {
 
 MODULE_DEVICE_TABLE(usb, rtw_usb_id_tbl);
 
-static struct dvobj_priv *usb_dvobj_init(struct usb_interface *usb_intf)
+static int usb_dvobj_init(struct usb_interface *usb_intf)
 {
 	int	i;
 	struct dvobj_priv *pdvobjpriv;
@@ -61,7 +61,7 @@ static struct dvobj_priv *usb_dvobj_init(struct usb_interface *usb_intf)
 
 	pdvobjpriv = kzalloc(sizeof(*pdvobjpriv), GFP_KERNEL);
 	if (!pdvobjpriv)
-		return NULL;
+		return -ENOMEM;
 
 	pdvobjpriv->pusbintf = usb_intf;
 	pusbd = interface_to_usbdev(usb_intf);
@@ -108,7 +108,7 @@ static struct dvobj_priv *usb_dvobj_init(struct usb_interface *usb_intf)
 	mutex_init(&pdvobjpriv->usb_vendor_req_mutex);
 	usb_get_dev(pusbd);
 
-	return pdvobjpriv;
+	return 0;
 }
 
 static void usb_dvobj_deinit(struct usb_interface *usb_intf)
@@ -450,27 +450,21 @@ static void rtw_usb_if1_deinit(struct adapter *if1)
 
 static int rtw_drv_init(struct usb_interface *pusb_intf, const struct usb_device_id *pdid)
 {
-	struct dvobj_priv *dvobj;
+	int err;
 
-	/* Initialize dvobj_priv */
-	dvobj = usb_dvobj_init(pusb_intf);
-	if (!dvobj) {
-		RT_TRACE(_module_hci_intfs_c_, _drv_err_,
-			 ("initialize device object priv Failed!\n"));
-		goto exit;
+	err = usb_dvobj_init(pusb_intf);
+	if (err) {
+		pr_debug("usb_dvobj_init failed\n");
+		return err;
 	}
 
 	if (!rtw_usb_if1_init(pusb_intf)) {
 		pr_debug("rtw_usb_if1_init failed\n");
-		goto free_dvobj;
+		usb_dvobj_deinit(pusb_intf);
+		return -ENODEV;
 	}
 
 	return 0;
-
-free_dvobj:
-	usb_dvobj_deinit(pusb_intf);
-exit:
-	return -ENODEV;
 }
 
 /*
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 10/10] staging: rtl8188eu: make rtw_usb_if1_init return a status
  2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
                   ` (7 preceding siblings ...)
  2021-04-07 17:05 ` [PATCH 09/10] staging: rtl8188eu: make usb_dvobj_init return a status Martin Kaiser
@ 2021-04-07 17:05 ` Martin Kaiser
  2021-04-08  7:26 ` [PATCH 01/10] staging: rtl8188eu: remove unused macros Greg Kroah-Hartman
  9 siblings, 0 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-07 17:05 UTC (permalink / raw)
  To: Larry Finger, Greg Kroah-Hartman
  Cc: linux-staging, kernel-janitors, linux-kernel, Martin Kaiser

Return an error status instead of the struct adapter that was allocated
and filled. This is more useful for the probe function, who calls
rtw_usb_if1_init.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
---
 drivers/staging/rtl8188eu/os_dep/usb_intf.c | 28 ++++++++++-----------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 71ef7941f688..3a970d67aa8c 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -322,17 +322,17 @@ static int rtw_resume(struct usb_interface *pusb_intf)
  *        We accept the new device by returning 0.
  */
 
-static struct adapter *rtw_usb_if1_init(struct usb_interface *pusb_intf)
+static int rtw_usb_if1_init(struct usb_interface *pusb_intf)
 {
 	struct dvobj_priv *dvobj = usb_get_intfdata(pusb_intf);
 	struct adapter *padapter;
 	struct net_device *pnetdev;
 	struct net_device *pmondev;
-	int status = _FAIL;
+	int err = 0;
 
 	pnetdev = rtw_init_netdev();
 	if (!pnetdev)
-		return NULL;
+		return -ENOMEM;
 	SET_NETDEV_DEV(pnetdev, dvobj_to_dev(dvobj));
 
 	padapter = netdev_priv(pnetdev);
@@ -352,6 +352,7 @@ static struct adapter *rtw_usb_if1_init(struct usb_interface *pusb_intf)
 	padapter->HalData = kzalloc(sizeof(struct hal_data_8188e), GFP_KERNEL);
 	if (!padapter->HalData) {
 		DBG_88E("Failed to allocate memory for HAL data\n");
+		err = -ENOMEM;
 		goto free_adapter;
 	}
 
@@ -368,6 +369,7 @@ static struct adapter *rtw_usb_if1_init(struct usb_interface *pusb_intf)
 	if (rtw_init_drv_sw(padapter) == _FAIL) {
 		RT_TRACE(_module_hci_intfs_c_, _drv_err_,
 			 ("Initialize driver software resource Failed!\n"));
+		err = -ENOMEM;
 		goto free_hal_data;
 	}
 
@@ -397,7 +399,8 @@ static struct adapter *rtw_usb_if1_init(struct usb_interface *pusb_intf)
 		 pnetdev->dev_addr);
 
 	/* step 6. Tell the network stack we exist */
-	if (register_netdev(pnetdev) != 0) {
+	err = register_netdev(pnetdev);
+	if (err) {
 		RT_TRACE(_module_hci_intfs_c_, _drv_err_, ("register_netdev() failed\n"));
 		goto free_hal_data;
 	}
@@ -409,17 +412,13 @@ static struct adapter *rtw_usb_if1_init(struct usb_interface *pusb_intf)
 		, padapter->hw_init_completed
 	);
 
-	status = _SUCCESS;
+	return 0;
 
 free_hal_data:
-	if (status != _SUCCESS)
-		kfree(padapter->HalData);
+	kfree(padapter->HalData);
 free_adapter:
-	if (status != _SUCCESS) {
-		free_netdev(pnetdev);
-		padapter = NULL;
-	}
-	return padapter;
+	free_netdev(pnetdev);
+	return err;
 }
 
 static void rtw_usb_if1_deinit(struct adapter *if1)
@@ -458,10 +457,11 @@ static int rtw_drv_init(struct usb_interface *pusb_intf, const struct usb_device
 		return err;
 	}
 
-	if (!rtw_usb_if1_init(pusb_intf)) {
+	err = rtw_usb_if1_init(pusb_intf);
+	if (err) {
 		pr_debug("rtw_usb_if1_init failed\n");
 		usb_dvobj_deinit(pusb_intf);
-		return -ENODEV;
+		return err;
 	}
 
 	return 0;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 01/10] staging: rtl8188eu: remove unused macros
  2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
                   ` (8 preceding siblings ...)
  2021-04-07 17:05 ` [PATCH 10/10] staging: rtl8188eu: make rtw_usb_if1_init " Martin Kaiser
@ 2021-04-08  7:26 ` Greg Kroah-Hartman
  2021-04-08 19:52   ` Martin Kaiser
  9 siblings, 1 reply; 12+ messages in thread
From: Greg Kroah-Hartman @ 2021-04-08  7:26 UTC (permalink / raw)
  To: Martin Kaiser; +Cc: Larry Finger, linux-staging, kernel-janitors, linux-kernel

On Wed, Apr 07, 2021 at 07:05:22PM +0200, Martin Kaiser wrote:
> usb_ops_linux.h contains a couple of macros to make functions usable as
> urb completion callbacks. Most of them are unused and can be removed.
> 
> Signed-off-by: Martin Kaiser <martin@kaiser.cx>
> ---
>  drivers/staging/rtl8188eu/include/usb_ops_linux.h | 8 --------
>  1 file changed, 8 deletions(-)
> 
> diff --git a/drivers/staging/rtl8188eu/include/usb_ops_linux.h b/drivers/staging/rtl8188eu/include/usb_ops_linux.h
> index 4e0e48cb5c8e..1a0b38de5027 100644
> --- a/drivers/staging/rtl8188eu/include/usb_ops_linux.h
> +++ b/drivers/staging/rtl8188eu/include/usb_ops_linux.h
> @@ -23,18 +23,10 @@
>  #define USB_HIGH_SPEED_BULK_SIZE	512
>  #define USB_FULL_SPEED_BULK_SIZE	64
>  
> -#define _usbctrl_vendorreq_async_callback(urb, regs)	\
> -	_usbctrl_vendorreq_async_callback(urb)
> -#define usb_bulkout_zero_complete(purb, regs)		\
> -	usb_bulkout_zero_complete(purb)
> -#define usb_write_mem_complete(purb, regs)		\
> -	usb_write_mem_complete(purb)
>  #define usb_write_port_complete(purb, regs)		\
>  	usb_write_port_complete(purb)
>  #define usb_read_port_complete(purb, regs)		\
>  	usb_read_port_complete(purb)
> -#define usb_read_interrupt_complete(purb, regs)		\
> -	usb_read_interrupt_complete(purb)

Wow, that's there for a really old kernel version and should not be
needed anymore at all.  I'll take this, but please remove the other ones
here, they are not necessary.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 01/10] staging: rtl8188eu: remove unused macros
  2021-04-08  7:26 ` [PATCH 01/10] staging: rtl8188eu: remove unused macros Greg Kroah-Hartman
@ 2021-04-08 19:52   ` Martin Kaiser
  0 siblings, 0 replies; 12+ messages in thread
From: Martin Kaiser @ 2021-04-08 19:52 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Larry Finger, linux-staging, kernel-janitors, linux-kernel

Thus wrote Greg Kroah-Hartman (gregkh@linuxfoundation.org):

> Wow, that's there for a really old kernel version and should not be
> needed anymore at all.  I'll take this, but please remove the other ones
> here, they are not necessary.

Ok, I see what you mean. New patch is on the way.

Best regards,
Martin

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-04-08 19:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-07 17:05 [PATCH 01/10] staging: rtl8188eu: remove unused macros Martin Kaiser
2021-04-07 17:05 ` [PATCH 02/10] staging: rtl8188eu: remove unnecessary brackets Martin Kaiser
2021-04-07 17:05 ` [PATCH 03/10] staging: rtl8188eu: remove unused defines Martin Kaiser
2021-04-07 17:05 ` [PATCH 04/10] staging: rtl8188eu: move defines into the .c file Martin Kaiser
2021-04-07 17:05 ` [PATCH 05/10] staging: rtl8188eu: set pipe only once Martin Kaiser
2021-04-07 17:05 ` [PATCH 06/10] staging: rtl8188eu: clean up rtw_recv_entry Martin Kaiser
2021-04-07 17:05 ` [PATCH 07/10] staging: rtl8188eu: remove unnecessary variable Martin Kaiser
2021-04-07 17:05 ` [PATCH 08/10] staging: rtl8188eu: rtw_usb_if1_init needs no dvobj parameter Martin Kaiser
2021-04-07 17:05 ` [PATCH 09/10] staging: rtl8188eu: make usb_dvobj_init return a status Martin Kaiser
2021-04-07 17:05 ` [PATCH 10/10] staging: rtl8188eu: make rtw_usb_if1_init " Martin Kaiser
2021-04-08  7:26 ` [PATCH 01/10] staging: rtl8188eu: remove unused macros Greg Kroah-Hartman
2021-04-08 19:52   ` Martin Kaiser

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.