2022-10-02 08:11:29

by Michael Straube

[permalink] [raw]
Subject: [PATCH 0/5] staging: r8188eu: some cleanups

The first patch of this series merges leftover macros in odm_types.h
into appropriate other headers and removes odm_types.h.

The other patches convert some functions away from returning _FAIL /
_SUCCESS.

Note: Converting _rtw_init_xmit_priv() and _rtw_init_recv_priv() away
from _FAIL / _SUCCESS is a bit more complicated. I am going to do that
in follow up patches.

Tested on x86_64 with Inter-Tech DMG-02.

Michael Straube (5):
staging: r8188eu: merge odm_types.h into other headers
staging: r8188eu: convert rtw_init_evt_priv() to common error logic
staging: r8188eu: convert rtw_init_cmd_priv() to common error logic
staging: r8188eu: convert rtw_init_mlme_priv() to common error logic
staging: r8188eu: convert _rtw_init_sta_priv() to common error logic

drivers/staging/r8188eu/core/rtw_cmd.c | 16 +++++++---------
drivers/staging/r8188eu/core/rtw_mlme.c | 12 ++++--------
drivers/staging/r8188eu/core/rtw_sta_mgt.c | 6 +++---
drivers/staging/r8188eu/include/odm.h | 3 ++-
drivers/staging/r8188eu/include/odm_RTL8188E.h | 7 +++++++
drivers/staging/r8188eu/include/odm_types.h | 16 ----------------
drivers/staging/r8188eu/include/rtl8188e_hal.h | 1 -
drivers/staging/r8188eu/include/rtw_cmd.h | 4 ++--
drivers/staging/r8188eu/include/sta_info.h | 2 +-
drivers/staging/r8188eu/os_dep/os_intfs.c | 8 ++++----
10 files changed, 30 insertions(+), 45 deletions(-)
delete mode 100644 drivers/staging/r8188eu/include/odm_types.h

--
2.37.3


2022-10-02 08:24:12

by Michael Straube

[permalink] [raw]
Subject: [PATCH 4/5] staging: r8188eu: convert rtw_init_mlme_priv() to common error logic

Convert the function rtw_init_mlme_priv() to common kernel error logic.
Return 0 on success and negative value on failure. This is part of
getting rid of returning _SUCCESS and _FAIL which uses inverted error
logic and is used all over the driver.

Signed-off-by: Michael Straube <[email protected]>
---
drivers/staging/r8188eu/core/rtw_mlme.c | 12 ++++--------
drivers/staging/r8188eu/os_dep/os_intfs.c | 2 +-
2 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_mlme.c b/drivers/staging/r8188eu/core/rtw_mlme.c
index 5ca03d6cac32..1f69e5c57d5d 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme.c
@@ -224,7 +224,6 @@ int rtw_init_mlme_priv(struct adapter *padapter)/* struct mlme_priv *pmlmepriv)
u8 *pbuf;
struct wlan_network *pnetwork;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- int res = _SUCCESS;

/* We don't need to memset padapter->XXX to zero, because adapter is allocated by vzalloc(). */

@@ -245,10 +244,9 @@ int rtw_init_mlme_priv(struct adapter *padapter)/* struct mlme_priv *pmlmepriv)

pbuf = vzalloc(MAX_BSS_CNT * (sizeof(struct wlan_network)));

- if (!pbuf) {
- res = _FAIL;
- goto exit;
- }
+ if (!pbuf)
+ return -ENOMEM;
+
pmlmepriv->free_bss_buf = pbuf;

pnetwork = (struct wlan_network *)pbuf;
@@ -265,9 +263,7 @@ int rtw_init_mlme_priv(struct adapter *padapter)/* struct mlme_priv *pmlmepriv)

rtw_init_mlme_timer(padapter);

-exit:
-
- return res;
+ return 0;
}

void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv)
diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c
index 490e0c7dc034..d8b8a5291e40 100644
--- a/drivers/staging/r8188eu/os_dep/os_intfs.c
+++ b/drivers/staging/r8188eu/os_dep/os_intfs.c
@@ -473,7 +473,7 @@ u8 rtw_init_drv_sw(struct adapter *padapter)
goto free_cmd_priv;
}

- if (rtw_init_mlme_priv(padapter) == _FAIL) {
+ if (rtw_init_mlme_priv(padapter)) {
dev_err(dvobj_to_dev(padapter->dvobj), "rtw_init_mlme_priv failed\n");
goto free_evt_priv;
}
--
2.37.3

2022-10-02 08:24:44

by Michael Straube

[permalink] [raw]
Subject: [PATCH 2/5] staging: r8188eu: convert rtw_init_evt_priv() to common error logic

Convert the function rtw_init_evt_priv() to common kernel error logic.
Return 0 on success and negative value on failure. This is part of
getting rid of returning _SUCCESS and _FAIL which uses inverted error
logic and is used all over the driver.

Signed-off-by: Michael Straube <[email protected]>
---
drivers/staging/r8188eu/core/rtw_cmd.c | 8 +++-----
drivers/staging/r8188eu/include/rtw_cmd.h | 2 +-
drivers/staging/r8188eu/os_dep/os_intfs.c | 2 +-
3 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_cmd.c b/drivers/staging/r8188eu/core/rtw_cmd.c
index 3fadace33de6..88b939e42f5a 100644
--- a/drivers/staging/r8188eu/core/rtw_cmd.c
+++ b/drivers/staging/r8188eu/core/rtw_cmd.c
@@ -90,10 +90,8 @@ u32 rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
return _SUCCESS;
}

-u32 rtw_init_evt_priv(struct evt_priv *pevtpriv)
+int rtw_init_evt_priv(struct evt_priv *pevtpriv)
{
- u32 res = _SUCCESS;
-
/* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */
atomic_set(&pevtpriv->event_seq, 0);

@@ -101,9 +99,9 @@ u32 rtw_init_evt_priv(struct evt_priv *pevtpriv)
pevtpriv->c2h_wk_alive = false;
pevtpriv->c2h_queue = rtw_cbuf_alloc(C2H_QUEUE_MAX_LEN + 1);
if (!pevtpriv->c2h_queue)
- res = _FAIL;
+ return -ENOMEM;

- return res;
+ return 0;
}

void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv)
diff --git a/drivers/staging/r8188eu/include/rtw_cmd.h b/drivers/staging/r8188eu/include/rtw_cmd.h
index 9a76aa85de94..c6c48e1fb961 100644
--- a/drivers/staging/r8188eu/include/rtw_cmd.h
+++ b/drivers/staging/r8188eu/include/rtw_cmd.h
@@ -85,7 +85,7 @@ int rtw_cmd_thread(void *context);
u32 rtw_init_cmd_priv(struct cmd_priv *pcmdpriv);
void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv);

-u32 rtw_init_evt_priv(struct evt_priv *pevtpriv);
+int rtw_init_evt_priv(struct evt_priv *pevtpriv);
void rtw_free_evt_priv(struct evt_priv *pevtpriv);
void rtw_evt_notify_isr(struct evt_priv *pevtpriv);
u8 p2p_protocol_wk_cmd(struct adapter *padapter, int intCmdType);
diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c
index 6a45315d01a2..dd4c89d7390d 100644
--- a/drivers/staging/r8188eu/os_dep/os_intfs.c
+++ b/drivers/staging/r8188eu/os_dep/os_intfs.c
@@ -468,7 +468,7 @@ u8 rtw_init_drv_sw(struct adapter *padapter)

padapter->cmdpriv.padapter = padapter;

- if ((rtw_init_evt_priv(&padapter->evtpriv)) == _FAIL) {
+ if (rtw_init_evt_priv(&padapter->evtpriv)) {
dev_err(dvobj_to_dev(padapter->dvobj), "rtw_init_evt_priv failed\n");
goto free_cmd_priv;
}
--
2.37.3

2022-10-02 08:52:38

by Michael Straube

[permalink] [raw]
Subject: [PATCH 5/5] staging: r8188eu: convert _rtw_init_sta_priv() to common error logic

Convert the function _rtw_init_sta_priv() to common kernel error logic.
Return 0 on success and negative value on failure. This is part of
getting rid of returning _SUCCESS and _FAIL which uses inverted error
logic and is used all over the driver.

Signed-off-by: Michael Straube <[email protected]>
---
drivers/staging/r8188eu/core/rtw_sta_mgt.c | 6 +++---
drivers/staging/r8188eu/include/sta_info.h | 2 +-
drivers/staging/r8188eu/os_dep/os_intfs.c | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_sta_mgt.c b/drivers/staging/r8188eu/core/rtw_sta_mgt.c
index 98eeb16cab6c..bbde5c03f9ae 100644
--- a/drivers/staging/r8188eu/core/rtw_sta_mgt.c
+++ b/drivers/staging/r8188eu/core/rtw_sta_mgt.c
@@ -45,7 +45,7 @@ static void _rtw_init_stainfo(struct sta_info *psta)
psta->keep_alive_trycnt = 0;
}

-u32 _rtw_init_sta_priv(struct sta_priv *pstapriv)
+int _rtw_init_sta_priv(struct sta_priv *pstapriv)
{
struct sta_info *psta;
s32 i;
@@ -53,7 +53,7 @@ u32 _rtw_init_sta_priv(struct sta_priv *pstapriv)
pstapriv->pallocated_stainfo_buf = vzalloc(sizeof(struct sta_info) * NUM_STA + 4);

if (!pstapriv->pallocated_stainfo_buf)
- return _FAIL;
+ return -ENOMEM;

pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 4 -
((size_t)(pstapriv->pallocated_stainfo_buf) & 3);
@@ -93,7 +93,7 @@ u32 _rtw_init_sta_priv(struct sta_priv *pstapriv)
pstapriv->expire_to = 3; /* 3*2 = 6 sec */
pstapriv->max_num_sta = NUM_STA;

- return _SUCCESS;
+ return 0;
}

inline int rtw_stainfo_offset(struct sta_priv *stapriv, struct sta_info *sta)
diff --git a/drivers/staging/r8188eu/include/sta_info.h b/drivers/staging/r8188eu/include/sta_info.h
index 4112c837bcef..f76e086b5701 100644
--- a/drivers/staging/r8188eu/include/sta_info.h
+++ b/drivers/staging/r8188eu/include/sta_info.h
@@ -295,7 +295,7 @@ static inline u32 wifi_mac_hash(u8 *mac)
return x;
}

-extern u32 _rtw_init_sta_priv(struct sta_priv *pstapriv);
+extern int _rtw_init_sta_priv(struct sta_priv *pstapriv);
extern void _rtw_free_sta_priv(struct sta_priv *pstapriv);

#define stainfo_offset_valid(offset) (offset < NUM_STA && offset >= 0)
diff --git a/drivers/staging/r8188eu/os_dep/os_intfs.c b/drivers/staging/r8188eu/os_dep/os_intfs.c
index d8b8a5291e40..e43ef7e5ba70 100644
--- a/drivers/staging/r8188eu/os_dep/os_intfs.c
+++ b/drivers/staging/r8188eu/os_dep/os_intfs.c
@@ -494,7 +494,7 @@ u8 rtw_init_drv_sw(struct adapter *padapter)
goto free_xmit_priv;
}

- if (_rtw_init_sta_priv(&padapter->stapriv) == _FAIL) {
+ if (_rtw_init_sta_priv(&padapter->stapriv)) {
dev_err(dvobj_to_dev(padapter->dvobj), "_rtw_init_sta_priv failed\n");
goto free_recv_priv;
}
--
2.37.3

2022-10-02 09:14:49

by Philipp Hortmann

[permalink] [raw]
Subject: Re: [PATCH 0/5] staging: r8188eu: some cleanups

On 10/2/22 09:48, Michael Straube wrote:
> The first patch of this series merges leftover macros in odm_types.h
> into appropriate other headers and removes odm_types.h.
>
> The other patches convert some functions away from returning _FAIL /
> _SUCCESS.
>
> Note: Converting _rtw_init_xmit_priv() and _rtw_init_recv_priv() away
> from _FAIL / _SUCCESS is a bit more complicated. I am going to do that
> in follow up patches.
>
> Tested on x86_64 with Inter-Tech DMG-02.
>
> Michael Straube (5):
> staging: r8188eu: merge odm_types.h into other headers
> staging: r8188eu: convert rtw_init_evt_priv() to common error logic
> staging: r8188eu: convert rtw_init_cmd_priv() to common error logic
> staging: r8188eu: convert rtw_init_mlme_priv() to common error logic
> staging: r8188eu: convert _rtw_init_sta_priv() to common error logic
>
> drivers/staging/r8188eu/core/rtw_cmd.c | 16 +++++++---------
> drivers/staging/r8188eu/core/rtw_mlme.c | 12 ++++--------
> drivers/staging/r8188eu/core/rtw_sta_mgt.c | 6 +++---
> drivers/staging/r8188eu/include/odm.h | 3 ++-
> drivers/staging/r8188eu/include/odm_RTL8188E.h | 7 +++++++
> drivers/staging/r8188eu/include/odm_types.h | 16 ----------------
> drivers/staging/r8188eu/include/rtl8188e_hal.h | 1 -
> drivers/staging/r8188eu/include/rtw_cmd.h | 4 ++--
> drivers/staging/r8188eu/include/sta_info.h | 2 +-
> drivers/staging/r8188eu/os_dep/os_intfs.c | 8 ++++----
> 10 files changed, 30 insertions(+), 45 deletions(-)
> delete mode 100644 drivers/staging/r8188eu/include/odm_types.h
>

Tested-by: Philipp Hortmann <[email protected]> # Edimax N150