[PATCH 55/61] staging: rtl8723bs: inline CheckIPSStatus logic with defines

From: Arsenii Pashchenko

Date: Wed Jul 15 2026 - 09:07:33 EST


Inline CheckIPSStatus logic directly into rtw_hal_check_ips_status.
Replace the 0x100 register and 0xEA magic number with self-documenting
defines: REG_FW_PWR_STATUS and FW_PWR_STATUS_IPS_DONE.

Signed-off-by: Arsenii Pashchenko <ulijg308@xxxxxxxxx>
---
drivers/staging/rtl8723bs/hal/hal_intf.c | 2 +-
drivers/staging/rtl8723bs/hal/sdio_ops.c | 16 ----------------
drivers/staging/rtl8723bs/include/sdio_ops.h | 4 +++-
3 files changed, 4 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/rtl8723bs/hal/hal_intf.c b/drivers/staging/rtl8723bs/hal/hal_intf.c
index d2e310115..a73abd36f 100644
--- a/drivers/staging/rtl8723bs/hal/hal_intf.c
+++ b/drivers/staging/rtl8723bs/hal/hal_intf.c
@@ -197,7 +197,7 @@ void rtw_hal_set_odm_var(struct adapter *padapter, enum hal_odm_variable eVariab

u8 rtw_hal_check_ips_status(struct adapter *padapter)
{
- return CheckIPSStatus(padapter);
+ return rtw_read8(padapter, REG_FW_PWR_STATUS) == FW_PWR_STATUS_IPS_DONE;
}

int rtw_hal_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe)
diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl8723bs/hal/sdio_ops.c
index c4058cfe7..dced13d2f 100644
--- a/drivers/staging/rtl8723bs/hal/sdio_ops.c
+++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c
@@ -620,22 +620,6 @@ void rtw_sdio_disable_interrupt(struct adapter *adapter)
sdio_local_write(adapter, SDIO_REG_HIMR, 4, (u8 *)&himr);
}

-/* */
-/* Description: */
-/* Using 0x100 to check the power status of FW. */
-/* */
-/* Assumption: */
-/* Using SDIO Local register ONLY for configuration. */
-/* */
-/* Created by Isaac, 2013.09.10. */
-/* */
-u8 CheckIPSStatus(struct adapter *adapter)
-{
- if (rtw_read8(adapter, 0x100) == 0xEA)
- return true;
- else
- return false;
-}

static struct recv_buf *sd_recv_rxfifo(struct adapter *adapter, u32 size)
{
diff --git a/drivers/staging/rtl8723bs/include/sdio_ops.h b/drivers/staging/rtl8723bs/include/sdio_ops.h
index 252b0e164..b5d426c99 100644
--- a/drivers/staging/rtl8723bs/include/sdio_ops.h
+++ b/drivers/staging/rtl8723bs/include/sdio_ops.h
@@ -23,7 +23,9 @@ u32 _sdio_read32(struct adapter *padapter, u32 addr);
s32 _sdio_write32(struct adapter *padapter, u32 addr, u32 val);

extern void sd_int_hdl(struct adapter *padapter);
-extern u8 CheckIPSStatus(struct adapter *padapter);
+
+#define REG_FW_PWR_STATUS 0x100
+#define FW_PWR_STATUS_IPS_DONE 0xEA

extern void InitInterrupt8723BSdio(struct adapter *padapter);
void rtw_sdio_enable_interrupt(struct adapter *padapter);
--
2.55.0