[PATCH 50/61] staging: rtl8723bs: inline SetHwReg8723BS into rtw_hal_set_hwreg
From: Arsenii Pashchenko
Date: Wed Jul 15 2026 - 09:03:04 EST
Inline the hardware register configuration logic from SetHwReg8723BS
directly into rtw_hal_set_hwreg. This eliminates the intermediate
CamelCase call layer for SDIO-specific registers and cleans up the
driver entry point.
Signed-off-by: Arsenii Pashchenko <ulijg308@xxxxxxxxx>
---
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 2 +-
.../staging/rtl8723bs/core/rtw_wlan_util.c | 4 +-
drivers/staging/rtl8723bs/hal/hal_intf.c | 35 ++++++++++++++-
drivers/staging/rtl8723bs/hal/sdio_halinit.c | 43 -------------------
drivers/staging/rtl8723bs/include/hal_intf.h | 1 -
5 files changed, 37 insertions(+), 48 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
index 0cc6887bb..1fab3e829 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
@@ -5449,7 +5449,7 @@ u8 setkey_hdl(struct adapter *padapter, u8 *pbuf)
rtw_hal_set_hwreg(padapter, HW_VAR_SEC_DK_CFG, (u8 *)true);
/* allow multicast packets to driver */
- SetHwReg8723BS(padapter, HW_VAR_ON_RCR_AM, null_addr);
+ rtw_hal_set_hwreg(padapter, HW_VAR_ON_RCR_AM, null_addr);
return H2C_SUCCESS;
}
diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
index d833c5e3a..3ac04c8b0 100644
--- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
+++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
@@ -1515,9 +1515,9 @@ void update_wireless_mode(struct adapter *padapter)
SIFS_Timer = 0x0a0a0808; /* 0x0808 -> for CCK, 0x0a0a -> for OFDM */
/* change this value if having IOT issues. */
- SetHwReg8723BS(padapter, HW_VAR_RESP_SIFS, (u8 *)&SIFS_Timer);
+ rtw_hal_set_hwreg(padapter, HW_VAR_RESP_SIFS, (u8 *)&SIFS_Timer);
- SetHwReg8723BS(padapter, HW_VAR_WIRELESS_MODE, (u8 *)&(pmlmeext->cur_wireless_mode));
+ rtw_hal_set_hwreg(padapter, HW_VAR_WIRELESS_MODE, (u8 *)&(pmlmeext->cur_wireless_mode));
if (pmlmeext->cur_wireless_mode & WIRELESS_11B)
update_mgnt_tx_rate(padapter, IEEE80211_CCK_RATE_1MB);
diff --git a/drivers/staging/rtl8723bs/hal/hal_intf.c b/drivers/staging/rtl8723bs/hal/hal_intf.c
index 9a3ebad35..bbf987ace 100644
--- a/drivers/staging/rtl8723bs/hal/hal_intf.c
+++ b/drivers/staging/rtl8723bs/hal/hal_intf.c
@@ -71,7 +71,40 @@ uint rtw_hal_deinit(struct adapter *padapter)
void rtw_hal_set_hwreg(struct adapter *padapter, u8 variable, u8 *val)
{
- SetHwReg8723BS(padapter, variable, val);
+ u8 val8;
+
+ switch (variable) {
+ case HW_VAR_SET_RPWM:
+ /* rpwm value only use BIT0(clock bit) , BIT6(Ack bit), and BIT7(Toggle bit) */
+ /* BIT0 value - 1: 32k, 0:40MHz. */
+ /* BIT6 value - 1: report cpwm value after success set, 0:do not report. */
+ /* BIT7 value - Toggle bit change. */
+ {
+ val8 = *val;
+ val8 &= 0xC1;
+ rtw_write8(padapter, SDIO_LOCAL_BASE | SDIO_REG_HRPWM1, val8);
+ }
+ break;
+ case HW_VAR_SET_REQ_FW_PS:
+ {
+ u8 req_fw_ps = 0;
+
+ req_fw_ps = rtw_read8(padapter, 0x8f);
+ req_fw_ps |= 0x10;
+ rtw_write8(padapter, 0x8f, req_fw_ps);
+ }
+ break;
+ case HW_VAR_RXDMA_AGG_PG_TH:
+ val8 = *val;
+ break;
+
+ case HW_VAR_DM_IN_LPS:
+ rtl8723b_hal_dm_in_lps(padapter);
+ break;
+ default:
+ SetHwReg8723B(padapter, variable, val);
+ break;
+ }
}
void rtw_hal_get_hwreg(struct adapter *padapter, u8 variable, u8 *val)
diff --git a/drivers/staging/rtl8723bs/hal/sdio_halinit.c b/drivers/staging/rtl8723bs/hal/sdio_halinit.c
index 731ca9276..775fd5138 100644
--- a/drivers/staging/rtl8723bs/hal/sdio_halinit.c
+++ b/drivers/staging/rtl8723bs/hal/sdio_halinit.c
@@ -1077,49 +1077,6 @@ void rtw_read_adapter_info(struct adapter *padapter)
_ReadAdapterInfo8723BS(padapter);
}
-
-/*
- * If variable not handled here,
- * some variables will be processed in SetHwReg8723B()
- */
-void SetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val)
-{
- u8 val8;
-
- switch (variable) {
- case HW_VAR_SET_RPWM:
- /* rpwm value only use BIT0(clock bit) , BIT6(Ack bit), and BIT7(Toggle bit) */
- /* BIT0 value - 1: 32k, 0:40MHz. */
- /* BIT6 value - 1: report cpwm value after success set, 0:do not report. */
- /* BIT7 value - Toggle bit change. */
- {
- val8 = *val;
- val8 &= 0xC1;
- rtw_write8(padapter, SDIO_LOCAL_BASE | SDIO_REG_HRPWM1, val8);
- }
- break;
- case HW_VAR_SET_REQ_FW_PS:
- {
- u8 req_fw_ps = 0;
-
- req_fw_ps = rtw_read8(padapter, 0x8f);
- req_fw_ps |= 0x10;
- rtw_write8(padapter, 0x8f, req_fw_ps);
- }
- break;
- case HW_VAR_RXDMA_AGG_PG_TH:
- val8 = *val;
- break;
-
- case HW_VAR_DM_IN_LPS:
- rtl8723b_hal_dm_in_lps(padapter);
- break;
- default:
- SetHwReg8723B(padapter, variable, val);
- break;
- }
-}
-
/*
* If variable not handled here,
* some variables will be processed in GetHwReg8723B()
diff --git a/drivers/staging/rtl8723bs/include/hal_intf.h b/drivers/staging/rtl8723bs/include/hal_intf.h
index ee8ad2632..51fdbf9fe 100644
--- a/drivers/staging/rtl8723bs/include/hal_intf.h
+++ b/drivers/staging/rtl8723bs/include/hal_intf.h
@@ -241,7 +241,6 @@ s32 rtw_hal_macid_wakeup(struct adapter *padapter, u32 macid);
s32 rtw_hal_fill_h2c_cmd(struct adapter *, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer);
-void SetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val);
void GetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val);
void SetHwRegWithBuf8723B(struct adapter *padapter, u8 variable, u8 *pbuf, int len);
u8 GetHalDefVar8723BSDIO(struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue);
--
2.55.0