From nobody Mon Jun 29 08:55:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 82B88C433F5 for ; Sat, 12 Feb 2022 16:17:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237020AbiBLQR4 (ORCPT ); Sat, 12 Feb 2022 11:17:56 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:37764 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231913AbiBLQRx (ORCPT ); Sat, 12 Feb 2022 11:17:53 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45019197 for ; Sat, 12 Feb 2022 08:17:50 -0800 (PST) Received: from dslb-188-097-215-215.188.097.pools.vodafone-ip.de ([188.97.215.215] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nIv5l-0007YM-Ko; Sat, 12 Feb 2022 17:17:45 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 01/10] staging: r8188eu: set path a explicitly Date: Sat, 12 Feb 2022 17:17:28 +0100 Message-Id: <20220212161737.381841-2-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220212161737.381841-1-martin@kaiser.cx> References: <20220212161737.381841-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" We've already limited the rtw_wx_write_rf function to RF_PATH_A in commit 3b011b097c38 ("staging: r8188eu: limit rf register writes to path a"). Set RF_PATH_A explicitly when we call rtl8188e_PHY_SetRFReg. This will make it easier later to verify that all callers of rtl8188e_PHY_SetRFReg use path a. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/os_dep/ioctl_linux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging= /r8188eu/os_dep/ioctl_linux.c index c41d75666568..8c49df724461 100644 --- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c +++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c @@ -2088,7 +2088,7 @@ static int rtw_wx_write_rf(struct net_device *dev, =20 addr =3D *((u32 *)extra + 1); data32 =3D *((u32 *)extra + 2); - rtl8188e_PHY_SetRFReg(padapter, path, addr, 0xFFFFF, data32); + rtl8188e_PHY_SetRFReg(padapter, RF_PATH_A, addr, 0xFFFFF, data32); =20 return 0; } --=20 2.30.2 From nobody Mon Jun 29 08:55:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A24FBC433F5 for ; Sat, 12 Feb 2022 16:17:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237052AbiBLQR6 (ORCPT ); Sat, 12 Feb 2022 11:17:58 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:37768 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236996AbiBLQRy (ORCPT ); Sat, 12 Feb 2022 11:17:54 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8282F20E for ; Sat, 12 Feb 2022 08:17:50 -0800 (PST) Received: from dslb-188-097-215-215.188.097.pools.vodafone-ip.de ([188.97.215.215] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nIv5m-0007YM-Et; Sat, 12 Feb 2022 17:17:46 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 02/10] staging: r8188eu: write only path a registers in rtw_dbg_port Date: Sat, 12 Feb 2022 17:17:29 +0100 Message-Id: <20220212161737.381841-3-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220212161737.381841-1-martin@kaiser.cx> References: <20220212161737.381841-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Commit 3b011b097c38 ("staging: r8188eu: limit rf register writes to path a") limited the rtw_wx_write_rf function to write only rf registers for path a. The private ioctl 0x0B invokes the rtw_dbg_port function. This ioctl can also be used for writing rf registers. We should limit these register writes to rf path a as well. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/os_dep/ioctl_linux.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging= /r8188eu/os_dep/ioctl_linux.c index 8c49df724461..9d3488c28048 100644 --- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c +++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c @@ -3621,7 +3621,11 @@ static int rtw_dbg_port(struct net_device *dev, DBG_88E("read RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", minor= _cmd, arg, rtl8188e_PHY_QueryRFReg(padapter, minor_cmd, arg, 0xffffffff)); break; case 0x75:/* write_rf */ - rtl8188e_PHY_SetRFReg(padapter, minor_cmd, arg, 0xffffffff, extra_arg); + if (minor_cmd !=3D RF_PATH_A) { + ret =3D -EINVAL; + break; + } + rtl8188e_PHY_SetRFReg(padapter, RF_PATH_A, arg, 0xffffffff, extra_arg); DBG_88E("write RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", mino= r_cmd, arg, rtl8188e_PHY_QueryRFReg(padapter, minor_cmd, arg, 0xffffffff)); break; =20 --=20 2.30.2 From nobody Mon Jun 29 08:55:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2569DC433EF for ; Sat, 12 Feb 2022 16:17:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237082AbiBLQSA (ORCPT ); Sat, 12 Feb 2022 11:18:00 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:37796 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237002AbiBLQRz (ORCPT ); Sat, 12 Feb 2022 11:17:55 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 121E0181 for ; Sat, 12 Feb 2022 08:17:51 -0800 (PST) Received: from dslb-188-097-215-215.188.097.pools.vodafone-ip.de ([188.97.215.215] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nIv5n-0007YM-9t; Sat, 12 Feb 2022 17:17:47 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 03/10] staging: r8188eu: remove path parameter from rtl8188e_PHY_SetRFReg Date: Sat, 12 Feb 2022 17:17:30 +0100 Message-Id: <20220212161737.381841-4-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220212161737.381841-1-martin@kaiser.cx> References: <20220212161737.381841-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" All callers of rtl8188e_PHY_SetRFReg set the eRFPath parameter to RF_PATH_A. Remove the parameter and use RF_PATH_A directly. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/HalPhyRf_8188e.c | 28 +++++++++---------- drivers/staging/r8188eu/hal/odm.c | 2 +- .../staging/r8188eu/hal/odm_RegConfig8188E.c | 2 +- drivers/staging/r8188eu/hal/rtl8188e_phycfg.c | 8 ++---- drivers/staging/r8188eu/hal/rtl8188e_rf6052.c | 4 +-- .../staging/r8188eu/include/Hal8188EPhyCfg.h | 3 +- drivers/staging/r8188eu/os_dep/ioctl_linux.c | 4 +-- 7 files changed, 24 insertions(+), 27 deletions(-) diff --git a/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c b/drivers/staging= /r8188eu/hal/HalPhyRf_8188e.c index 8edae488d998..c7aed5ed5fa5 100644 --- a/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c @@ -327,14 +327,14 @@ phy_PathA_RxIQK(struct adapter *adapt) /* 1 Get TXIMR setting */ /* modify RXIQK mode table */ rtl8188e_PHY_SetBBReg(adapt, rFPGA0_IQK, bMaskDWord, 0x00000000); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_WE_LUT, bRFRegOffsetMask, 0x80= 0a0); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x30= 000); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0= 000f); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf= 117B); + rtl8188e_PHY_SetRFReg(adapt, RF_WE_LUT, bRFRegOffsetMask, 0x800a0); + rtl8188e_PHY_SetRFReg(adapt, RF_RCK_OS, bRFRegOffsetMask, 0x30000); + rtl8188e_PHY_SetRFReg(adapt, RF_TXPA_G1, bRFRegOffsetMask, 0x0000f); + rtl8188e_PHY_SetRFReg(adapt, RF_TXPA_G2, bRFRegOffsetMask, 0xf117B); =20 /* PA,PAD off */ - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0x980); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, 0x56, bRFRegOffsetMask, 0x51000); + rtl8188e_PHY_SetRFReg(adapt, 0xdf, bRFRegOffsetMask, 0x980); + rtl8188e_PHY_SetRFReg(adapt, 0x56, bRFRegOffsetMask, 0x51000); =20 rtl8188e_PHY_SetBBReg(adapt, rFPGA0_IQK, bMaskDWord, 0x80800000); =20 @@ -376,10 +376,10 @@ phy_PathA_RxIQK(struct adapter *adapt) /* 1 RX IQK */ /* modify RXIQK mode table */ rtl8188e_PHY_SetBBReg(adapt, rFPGA0_IQK, bMaskDWord, 0x00000000); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_WE_LUT, bRFRegOffsetMask, 0x80= 0a0); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x30= 000); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0= 000f); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf= 7ffa); + rtl8188e_PHY_SetRFReg(adapt, RF_WE_LUT, bRFRegOffsetMask, 0x800a0); + rtl8188e_PHY_SetRFReg(adapt, RF_RCK_OS, bRFRegOffsetMask, 0x30000); + rtl8188e_PHY_SetRFReg(adapt, RF_TXPA_G1, bRFRegOffsetMask, 0x0000f); + rtl8188e_PHY_SetRFReg(adapt, RF_TXPA_G2, bRFRegOffsetMask, 0xf7ffa); rtl8188e_PHY_SetBBReg(adapt, rFPGA0_IQK, bMaskDWord, 0x80800000); =20 /* IQK setting */ @@ -410,7 +410,7 @@ phy_PathA_RxIQK(struct adapter *adapt) =20 /* reload RF 0xdf */ rtl8188e_PHY_SetBBReg(adapt, rFPGA0_IQK, bMaskDWord, 0x00000000); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0x180); + rtl8188e_PHY_SetRFReg(adapt, 0xdf, bRFRegOffsetMask, 0x180); =20 if (!(regeac & BIT(27)) && /* if Tx is OK, check whether Rx is OK */ (((regEA4 & 0x03FF0000) >> 16) !=3D 0x132) && @@ -763,14 +763,14 @@ static void phy_LCCalibrate_8188E(struct adapter *ada= pt) =20 /* 2. Set RF mode =3D standby mode */ /* Path-A */ - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_AC, bMask12Bits, (RF_Amode & = 0x8FFFF) | 0x10000); + rtl8188e_PHY_SetRFReg(adapt, RF_AC, bMask12Bits, (RF_Amode & 0x8FFFF) | = 0x10000); } =20 /* 3. Read RF reg18 */ LC_Cal =3D rtl8188e_PHY_QueryRFReg(adapt, RF_PATH_A, RF_CHNLBW, bMask12Bi= ts); =20 /* 4. Set LC calibration begin bit15 */ - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_CHNLBW, bMask12Bits, LC_Cal | = 0x08000); + rtl8188e_PHY_SetRFReg(adapt, RF_CHNLBW, bMask12Bits, LC_Cal | 0x08000); =20 msleep(100); =20 @@ -779,7 +779,7 @@ static void phy_LCCalibrate_8188E(struct adapter *adapt) /* Deal with continuous TX case */ /* Path-A */ rtw_write8(adapt, 0xd03, tmpreg); - rtl8188e_PHY_SetRFReg(adapt, RF_PATH_A, RF_AC, bMask12Bits, RF_Amode); + rtl8188e_PHY_SetRFReg(adapt, RF_AC, bMask12Bits, RF_Amode); } else { /* Deal with Packet TX case */ rtw_write8(adapt, REG_TXPAUSE, 0x00); diff --git a/drivers/staging/r8188eu/hal/odm.c b/drivers/staging/r8188eu/ha= l/odm.c index a759c2fe5d66..b4be706545ff 100644 --- a/drivers/staging/r8188eu/hal/odm.c +++ b/drivers/staging/r8188eu/hal/odm.c @@ -896,7 +896,7 @@ void ODM_TXPowerTrackingCheck(struct odm_dm_struct *pDM= _Odm) struct adapter *Adapter =3D pDM_Odm->Adapter; =20 if (!pDM_Odm->RFCalibrateInfo.TM_Trigger) { /* at least delay 1 sec */ - rtl8188e_PHY_SetRFReg(Adapter, RF_PATH_A, RF_T_METER_88E, BIT(17) | BIT(= 16), 0x03); + rtl8188e_PHY_SetRFReg(Adapter, RF_T_METER_88E, BIT(17) | BIT(16), 0x03); =20 pDM_Odm->RFCalibrateInfo.TM_Trigger =3D 1; return; diff --git a/drivers/staging/r8188eu/hal/odm_RegConfig8188E.c b/drivers/sta= ging/r8188eu/hal/odm_RegConfig8188E.c index 9059f2533b0b..0fa17a99f9e9 100644 --- a/drivers/staging/r8188eu/hal/odm_RegConfig8188E.c +++ b/drivers/staging/r8188eu/hal/odm_RegConfig8188E.c @@ -19,7 +19,7 @@ static void odm_ConfigRFReg_8188E(struct odm_dm_struct *p= DM_Odm, u32 Addr, } else if (Addr =3D=3D 0xf9) { udelay(1); } else { - rtl8188e_PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RegAddr, bRFRegOffset= Mask, Data); + rtl8188e_PHY_SetRFReg(pDM_Odm->Adapter, RegAddr, bRFRegOffsetMask, Data); /* Add 1us delay between BB/RF register setting. */ udelay(1); } diff --git a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c b/drivers/stagin= g/r8188eu/hal/rtl8188e_phycfg.c index cd82452238e0..628cec40db5f 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c @@ -282,7 +282,6 @@ u32 rtl8188e_PHY_QueryRFReg(struct adapter *Adapter, en= um rf_radio_path eRFPath, * * Input: * struct adapter *Adapter, -* enum rf_radio_path eRFPath, Radio path of A/B/C/D * u32 RegAddr, The target address to be modified * u32 BitMask The target bit position in the target address * to be modified @@ -296,7 +295,6 @@ u32 rtl8188e_PHY_QueryRFReg(struct adapter *Adapter, en= um rf_radio_path eRFPath, void rtl8188e_PHY_SetRFReg( struct adapter *Adapter, - enum rf_radio_path eRFPath, u32 RegAddr, u32 BitMask, u32 Data @@ -306,12 +304,12 @@ rtl8188e_PHY_SetRFReg( =20 /* RF data is 12 bits only */ if (BitMask !=3D bRFRegOffsetMask) { - Original_Value =3D phy_RFSerialRead(Adapter, eRFPath, RegAddr); + Original_Value =3D phy_RFSerialRead(Adapter, RF_PATH_A, RegAddr); BitShift =3D phy_CalculateBitShift(BitMask); Data =3D ((Original_Value & (~BitMask)) | (Data << BitShift)); } =20 - phy_RFSerialWrite(Adapter, eRFPath, RegAddr, Data); + phy_RFSerialWrite(Adapter, RF_PATH_A, RegAddr, Data); } =20 /* */ @@ -725,7 +723,7 @@ static void _PHY_SwChnl8192C(struct adapter *Adapter, u= 8 channel) param1 =3D RF_CHNLBW; param2 =3D channel; pHalData->RfRegChnlVal =3D ((pHalData->RfRegChnlVal & 0xfffffc00) | param= 2); - rtl8188e_PHY_SetRFReg(Adapter, RF_PATH_A, param1, bRFRegOffsetMask, pHalD= ata->RfRegChnlVal); + rtl8188e_PHY_SetRFReg(Adapter, param1, bRFRegOffsetMask, pHalData->RfRegC= hnlVal); } =20 void PHY_SwChnl8188E(struct adapter *Adapter, u8 channel) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c b/drivers/stagin= g/r8188eu/hal/rtl8188e_rf6052.c index 2d5d04b384d1..4a7a877e4017 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c @@ -51,11 +51,11 @@ void rtl8188e_PHY_RF6052SetBandwidth(struct adapter *Ad= apter, switch (Bandwidth) { case HT_CHANNEL_WIDTH_20: pHalData->RfRegChnlVal =3D ((pHalData->RfRegChnlVal & 0xfffff3ff) | BIT(= 10) | BIT(11)); - rtl8188e_PHY_SetRFReg(Adapter, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask, p= HalData->RfRegChnlVal); + rtl8188e_PHY_SetRFReg(Adapter, RF_CHNLBW, bRFRegOffsetMask, pHalData->Rf= RegChnlVal); break; case HT_CHANNEL_WIDTH_40: pHalData->RfRegChnlVal =3D ((pHalData->RfRegChnlVal & 0xfffff3ff) | BIT(= 10)); - rtl8188e_PHY_SetRFReg(Adapter, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask, p= HalData->RfRegChnlVal); + rtl8188e_PHY_SetRFReg(Adapter, RF_CHNLBW, bRFRegOffsetMask, pHalData->Rf= RegChnlVal); break; default: break; diff --git a/drivers/staging/r8188eu/include/Hal8188EPhyCfg.h b/drivers/sta= ging/r8188eu/include/Hal8188EPhyCfg.h index 2517a08bc95a..e0dff772534d 100644 --- a/drivers/staging/r8188eu/include/Hal8188EPhyCfg.h +++ b/drivers/staging/r8188eu/include/Hal8188EPhyCfg.h @@ -75,8 +75,7 @@ void rtl8188e_PHY_SetBBReg(struct adapter *Adapter, u32 R= egAddr, u32 mask, u32 data); u32 rtl8188e_PHY_QueryRFReg(struct adapter *adapter, enum rf_radio_path rf= path, u32 regaddr, u32 mask); -void rtl8188e_PHY_SetRFReg(struct adapter *adapter, enum rf_radio_path rfp= ath, - u32 regaddr, u32 mask, u32 data); +void rtl8188e_PHY_SetRFReg(struct adapter *adapter, u32 regaddr, u32 mask,= u32 data); =20 /* Initialization related function */ /* MAC/BB/RF HAL config */ diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging= /r8188eu/os_dep/ioctl_linux.c index 9d3488c28048..548ed6f965f8 100644 --- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c +++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c @@ -2088,7 +2088,7 @@ static int rtw_wx_write_rf(struct net_device *dev, =20 addr =3D *((u32 *)extra + 1); data32 =3D *((u32 *)extra + 2); - rtl8188e_PHY_SetRFReg(padapter, RF_PATH_A, addr, 0xFFFFF, data32); + rtl8188e_PHY_SetRFReg(padapter, addr, 0xFFFFF, data32); =20 return 0; } @@ -3625,7 +3625,7 @@ static int rtw_dbg_port(struct net_device *dev, ret =3D -EINVAL; break; } - rtl8188e_PHY_SetRFReg(padapter, RF_PATH_A, arg, 0xffffffff, extra_arg); + rtl8188e_PHY_SetRFReg(padapter, arg, 0xffffffff, extra_arg); DBG_88E("write RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", mino= r_cmd, arg, rtl8188e_PHY_QueryRFReg(padapter, minor_cmd, arg, 0xffffffff)); break; =20 --=20 2.30.2 From nobody Mon Jun 29 08:55:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 850D9C433EF for ; Sat, 12 Feb 2022 16:18:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237144AbiBLQSH (ORCPT ); Sat, 12 Feb 2022 11:18:07 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:37798 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237005AbiBLQRz (ORCPT ); Sat, 12 Feb 2022 11:17:55 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 122BE197 for ; Sat, 12 Feb 2022 08:17:51 -0800 (PST) Received: from dslb-188-097-215-215.188.097.pools.vodafone-ip.de ([188.97.215.215] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nIv5o-0007YM-5i; Sat, 12 Feb 2022 17:17:48 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 04/10] staging: r8188eu: remove path parameter from phy_RFSerialWrite Date: Sat, 12 Feb 2022 17:17:31 +0100 Message-Id: <20220212161737.381841-5-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220212161737.381841-1-martin@kaiser.cx> References: <20220212161737.381841-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The only caller of phy_RFSerialWrite sets the eRFPath parameter to RF_PATH_A. Remove the parameter and use RF_PATH_A directly. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/rtl8188e_phycfg.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c b/drivers/stagin= g/r8188eu/hal/rtl8188e_phycfg.c index 628cec40db5f..9e02855c47b2 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c @@ -217,14 +217,13 @@ phy_RFSerialRead( static void phy_RFSerialWrite( struct adapter *Adapter, - enum rf_radio_path eRFPath, u32 Offset, u32 Data ) { u32 DataAndAddr =3D 0; struct hal_data_8188e *pHalData =3D &Adapter->haldata; - struct bb_reg_def *pPhyReg =3D &pHalData->PHYRegDef[eRFPath]; + struct bb_reg_def *pPhyReg =3D &pHalData->PHYRegDef[RF_PATH_A]; u32 NewOffset; =20 /* 2009/06/17 MH We can not execute IO for power save or other accident = mode. */ @@ -309,7 +308,7 @@ rtl8188e_PHY_SetRFReg( Data =3D ((Original_Value & (~BitMask)) | (Data << BitShift)); } =20 - phy_RFSerialWrite(Adapter, RF_PATH_A, RegAddr, Data); + phy_RFSerialWrite(Adapter, RegAddr, Data); } =20 /* */ --=20 2.30.2 From nobody Mon Jun 29 08:55:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B7F80C433EF for ; Sat, 12 Feb 2022 16:18:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237106AbiBLQSC (ORCPT ); Sat, 12 Feb 2022 11:18:02 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:37800 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237006AbiBLQRz (ORCPT ); Sat, 12 Feb 2022 11:17:55 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8398F20E for ; Sat, 12 Feb 2022 08:17:52 -0800 (PST) Received: from dslb-188-097-215-215.188.097.pools.vodafone-ip.de ([188.97.215.215] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nIv5p-0007YM-1u; Sat, 12 Feb 2022 17:17:49 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 05/10] staging: r8188eu: clarify that bb_reg_dump uses only path a Date: Sat, 12 Feb 2022 17:17:32 +0100 Message-Id: <20220212161737.381841-6-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220212161737.381841-1-martin@kaiser.cx> References: <20220212161737.381841-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The path variable is always 0 in bb_reg_dump. Remove the path variable and replace the constant 0 with RF_PATH_A to make it clearer that path a is used. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/os_dep/ioctl_linux.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging= /r8188eu/os_dep/ioctl_linux.c index 548ed6f965f8..e815ae223f53 100644 --- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c +++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c @@ -3538,13 +3538,13 @@ static void bb_reg_dump(struct adapter *padapter) =20 static void rf_reg_dump(struct adapter *padapter) { - int i, j =3D 1, path =3D 0; + int i, j =3D 1; u32 value; =20 pr_info("\n =3D=3D=3D=3D=3D=3D=3D RF REG =3D=3D=3D=3D=3D=3D=3D\n"); - pr_info("\nRF_Path(%x)\n", path); + pr_info("\nRF_Path(%x)\n", RF_PATH_A); for (i =3D 0; i < 0x100; i++) { - value =3D rtl8188e_PHY_QueryRFReg(padapter, path, i, 0xffffffff); + value =3D rtl8188e_PHY_QueryRFReg(padapter, RF_PATH_A, i, 0xffffffff); if (j % 4 =3D=3D 1) pr_info("0x%02x ", i); pr_info(" 0x%08x ", value); --=20 2.30.2 From nobody Mon Jun 29 08:55:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F2F41C433EF for ; Sat, 12 Feb 2022 16:18:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237084AbiBLQSJ (ORCPT ); Sat, 12 Feb 2022 11:18:09 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:37808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237023AbiBLQR4 (ORCPT ); Sat, 12 Feb 2022 11:17:56 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F15320F for ; Sat, 12 Feb 2022 08:17:53 -0800 (PST) Received: from dslb-188-097-215-215.188.097.pools.vodafone-ip.de ([188.97.215.215] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nIv5p-0007YM-Qh; Sat, 12 Feb 2022 17:17:49 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 06/10] staging: r8188eu: limit rtw_wx_read_rf to path a Date: Sat, 12 Feb 2022 17:17:33 +0100 Message-Id: <20220212161737.381841-7-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220212161737.381841-1-martin@kaiser.cx> References: <20220212161737.381841-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Commit 3b011b097c38 ("staging: r8188eu: limit rf register writes to path a") limits rf register writes by private ioctls to RF_PATH_A. Apart from private ioctls, the rest of the driver uses only path a. This patch limits rf register reads by the private ioctl 0x0D, which calls rtw_wx_read_rf, to path a. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/os_dep/ioctl_linux.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging= /r8188eu/os_dep/ioctl_linux.c index e815ae223f53..30fdc8afcffe 100644 --- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c +++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c @@ -2063,8 +2063,11 @@ static int rtw_wx_read_rf(struct net_device *dev, u32 path, addr, data32; =20 path =3D *(u32 *)extra; + if (path !=3D RF_PATH_A) + return -EINVAL; + addr =3D *((u32 *)extra + 1); - data32 =3D rtl8188e_PHY_QueryRFReg(padapter, path, addr, 0xFFFFF); + data32 =3D rtl8188e_PHY_QueryRFReg(padapter, RF_PATH_A, addr, 0xFFFFF); /* * IMPORTANT!! * Only when wireless private ioctl is at odd order, @@ -3626,7 +3629,7 @@ static int rtw_dbg_port(struct net_device *dev, break; } rtl8188e_PHY_SetRFReg(padapter, arg, 0xffffffff, extra_arg); - DBG_88E("write RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", mino= r_cmd, arg, rtl8188e_PHY_QueryRFReg(padapter, minor_cmd, arg, 0xffffffff)); + DBG_88E("write RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", RF_P= ATH_A, arg, rtl8188e_PHY_QueryRFReg(padapter, RF_PATH_A, arg, 0xffffffff)); break; =20 case 0x76: --=20 2.30.2 From nobody Mon Jun 29 08:55:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 413DFC433FE for ; Sat, 12 Feb 2022 16:18:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237127AbiBLQSE (ORCPT ); Sat, 12 Feb 2022 11:18:04 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:37820 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237039AbiBLQR5 (ORCPT ); Sat, 12 Feb 2022 11:17:57 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4AC52240A6 for ; Sat, 12 Feb 2022 08:17:54 -0800 (PST) Received: from dslb-188-097-215-215.188.097.pools.vodafone-ip.de ([188.97.215.215] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nIv5q-0007YM-J3; Sat, 12 Feb 2022 17:17:50 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 07/10] staging: r8188eu: limit rtw_dbg_port to path a Date: Sat, 12 Feb 2022 17:17:34 +0100 Message-Id: <20220212161737.381841-8-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220212161737.381841-1-martin@kaiser.cx> References: <20220212161737.381841-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Rf registers can be read by rtw_wx_read_rf or via the private ioctl 0x0B. The latter calls rtw_dbg_port. Limit rf register reads to path a in rtw_debug_port. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/os_dep/ioctl_linux.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging= /r8188eu/os_dep/ioctl_linux.c index 30fdc8afcffe..4b3134aef917 100644 --- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c +++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c @@ -3621,7 +3621,11 @@ static int rtw_dbg_port(struct net_device *dev, DBG_88E("write_bbreg(0x%x) =3D 0x%x\n", arg, rtl8188e_PHY_QueryBBReg(pad= apter, arg, 0xffffffff)); break; case 0x74:/* read_rf */ - DBG_88E("read RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", minor= _cmd, arg, rtl8188e_PHY_QueryRFReg(padapter, minor_cmd, arg, 0xffffffff)); + if (minor_cmd !=3D RF_PATH_A) { + ret =3D -EINVAL; + break; + } + DBG_88E("read RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", RF_PA= TH_A, arg, rtl8188e_PHY_QueryRFReg(padapter, RF_PATH_A, arg, 0xffffffff)); break; case 0x75:/* write_rf */ if (minor_cmd !=3D RF_PATH_A) { --=20 2.30.2 From nobody Mon Jun 29 08:55:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A4FD5C433EF for ; Sat, 12 Feb 2022 16:18:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237130AbiBLQSM (ORCPT ); Sat, 12 Feb 2022 11:18:12 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:37820 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237072AbiBLQR7 (ORCPT ); Sat, 12 Feb 2022 11:17:59 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EEECC20E for ; Sat, 12 Feb 2022 08:17:55 -0800 (PST) Received: from dslb-188-097-215-215.188.097.pools.vodafone-ip.de ([188.97.215.215] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nIv5r-0007YM-CF; Sat, 12 Feb 2022 17:17:51 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 08/10] staging: r8188eu: remove path parameter from rtl8188e_PHY_QueryRFReg Date: Sat, 12 Feb 2022 17:17:35 +0100 Message-Id: <20220212161737.381841-9-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220212161737.381841-1-martin@kaiser.cx> References: <20220212161737.381841-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" All callers of rtl8188e_PHY_QueryRFReg set the eRFPath parameter to RF_PATH_A. Remove the parameter and use RF_PATH_A directly. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/HalPhyRf_8188e.c | 6 +++--- drivers/staging/r8188eu/hal/rtl8188e_phycfg.c | 6 ++---- drivers/staging/r8188eu/hal/usb_halinit.c | 2 +- drivers/staging/r8188eu/include/Hal8188EPhyCfg.h | 3 +-- drivers/staging/r8188eu/os_dep/ioctl_linux.c | 8 ++++---- 5 files changed, 11 insertions(+), 14 deletions(-) diff --git a/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c b/drivers/staging= /r8188eu/hal/HalPhyRf_8188e.c index c7aed5ed5fa5..0fcf094ae594 100644 --- a/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c +++ b/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c @@ -132,7 +132,7 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E( /* RFCalibrateInfo.RegA24 will be initialized when ODM HW confi= guring, but MP configures with para files. */ dm_odm->RFCalibrateInfo.RegA24 =3D 0x090e1317; =20 - ThermalValue =3D (u8)rtl8188e_PHY_QueryRFReg(Adapter, RF_PATH_A, RF_T_MET= ER_88E, 0xfc00); /* 0x42: RF Reg[15:10] 88E */ + ThermalValue =3D (u8)rtl8188e_PHY_QueryRFReg(Adapter, RF_T_METER_88E, 0xf= c00); /* 0x42: RF Reg[15:10] 88E */ =20 if (ThermalValue) { /* Query OFDM path A default setting */ @@ -759,7 +759,7 @@ static void phy_LCCalibrate_8188E(struct adapter *adapt) if ((tmpreg & 0x70) !=3D 0) { /* 1. Read original RF mode */ /* Path-A */ - RF_Amode =3D rtl8188e_PHY_QueryRFReg(adapt, RF_PATH_A, RF_AC, bMask12Bit= s); + RF_Amode =3D rtl8188e_PHY_QueryRFReg(adapt, RF_AC, bMask12Bits); =20 /* 2. Set RF mode =3D standby mode */ /* Path-A */ @@ -767,7 +767,7 @@ static void phy_LCCalibrate_8188E(struct adapter *adapt) } =20 /* 3. Read RF reg18 */ - LC_Cal =3D rtl8188e_PHY_QueryRFReg(adapt, RF_PATH_A, RF_CHNLBW, bMask12Bi= ts); + LC_Cal =3D rtl8188e_PHY_QueryRFReg(adapt, RF_CHNLBW, bMask12Bits); =20 /* 4. Set LC calibration begin bit15 */ rtl8188e_PHY_SetRFReg(adapt, RF_CHNLBW, bMask12Bits, LC_Cal | 0x08000); diff --git a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c b/drivers/stagin= g/r8188eu/hal/rtl8188e_phycfg.c index 9e02855c47b2..2dcd1df58aaa 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c @@ -253,7 +253,6 @@ phy_RFSerialWrite( * * Input: * struct adapter *Adapter, -* enum rf_radio_path eRFPath, Radio path of A/B/C/D * u32 RegAddr, The target address to be read * u32 BitMask The target bit position in the target address * to be read @@ -262,12 +261,11 @@ phy_RFSerialWrite( * Return: u32 Readback value * Note: This function is equal to "GetRFRegSetting" in PHY programming gu= ide */ -u32 rtl8188e_PHY_QueryRFReg(struct adapter *Adapter, enum rf_radio_path eR= FPath, - u32 RegAddr, u32 BitMask) +u32 rtl8188e_PHY_QueryRFReg(struct adapter *Adapter, u32 RegAddr, u32 BitM= ask) { u32 Original_Value, Readback_Value, BitShift; =20 - Original_Value =3D phy_RFSerialRead(Adapter, eRFPath, RegAddr); + Original_Value =3D phy_RFSerialRead(Adapter, RF_PATH_A, RegAddr); =20 BitShift =3D phy_CalculateBitShift(BitMask); Readback_Value =3D (Original_Value & BitMask) >> BitShift; diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8= 188eu/hal/usb_halinit.c index 1f2c736c3bc4..63e6337c2344 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -662,7 +662,7 @@ u32 rtl8188eu_hal_init(struct adapter *Adapter) rtw_write16(Adapter, REG_PKT_BE_BK_LIFE_TIME, 0x0400); /* unit: 256us. 2= 56ms */ =20 /* Keep RfRegChnlVal for later use. */ - haldata->RfRegChnlVal =3D rtl8188e_PHY_QueryRFReg(Adapter, RF_PATH_A, RF_= CHNLBW, bRFRegOffsetMask); + haldata->RfRegChnlVal =3D rtl8188e_PHY_QueryRFReg(Adapter, RF_CHNLBW, bRF= RegOffsetMask); =20 _BBTurnOnBlock(Adapter); =20 diff --git a/drivers/staging/r8188eu/include/Hal8188EPhyCfg.h b/drivers/sta= ging/r8188eu/include/Hal8188EPhyCfg.h index e0dff772534d..9e6f2361b090 100644 --- a/drivers/staging/r8188eu/include/Hal8188EPhyCfg.h +++ b/drivers/staging/r8188eu/include/Hal8188EPhyCfg.h @@ -73,8 +73,7 @@ struct bb_reg_def { u32 rtl8188e_PHY_QueryBBReg(struct adapter *adapter, u32 regaddr, u32 mask= ); void rtl8188e_PHY_SetBBReg(struct adapter *Adapter, u32 RegAddr, u32 mask, u32 data); -u32 rtl8188e_PHY_QueryRFReg(struct adapter *adapter, enum rf_radio_path rf= path, - u32 regaddr, u32 mask); +u32 rtl8188e_PHY_QueryRFReg(struct adapter *adapter, u32 regaddr, u32 mask= ); void rtl8188e_PHY_SetRFReg(struct adapter *adapter, u32 regaddr, u32 mask,= u32 data); =20 /* Initialization related function */ diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging= /r8188eu/os_dep/ioctl_linux.c index 4b3134aef917..f6a683cda614 100644 --- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c +++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c @@ -2067,7 +2067,7 @@ static int rtw_wx_read_rf(struct net_device *dev, return -EINVAL; =20 addr =3D *((u32 *)extra + 1); - data32 =3D rtl8188e_PHY_QueryRFReg(padapter, RF_PATH_A, addr, 0xFFFFF); + data32 =3D rtl8188e_PHY_QueryRFReg(padapter, addr, 0xFFFFF); /* * IMPORTANT!! * Only when wireless private ioctl is at odd order, @@ -3547,7 +3547,7 @@ static void rf_reg_dump(struct adapter *padapter) pr_info("\n =3D=3D=3D=3D=3D=3D=3D RF REG =3D=3D=3D=3D=3D=3D=3D\n"); pr_info("\nRF_Path(%x)\n", RF_PATH_A); for (i =3D 0; i < 0x100; i++) { - value =3D rtl8188e_PHY_QueryRFReg(padapter, RF_PATH_A, i, 0xffffffff); + value =3D rtl8188e_PHY_QueryRFReg(padapter, i, 0xffffffff); if (j % 4 =3D=3D 1) pr_info("0x%02x ", i); pr_info(" 0x%08x ", value); @@ -3625,7 +3625,7 @@ static int rtw_dbg_port(struct net_device *dev, ret =3D -EINVAL; break; } - DBG_88E("read RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", RF_PA= TH_A, arg, rtl8188e_PHY_QueryRFReg(padapter, RF_PATH_A, arg, 0xffffffff)); + DBG_88E("read RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", RF_PA= TH_A, arg, rtl8188e_PHY_QueryRFReg(padapter, arg, 0xffffffff)); break; case 0x75:/* write_rf */ if (minor_cmd !=3D RF_PATH_A) { @@ -3633,7 +3633,7 @@ static int rtw_dbg_port(struct net_device *dev, break; } rtl8188e_PHY_SetRFReg(padapter, arg, 0xffffffff, extra_arg); - DBG_88E("write RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", RF_P= ATH_A, arg, rtl8188e_PHY_QueryRFReg(padapter, RF_PATH_A, arg, 0xffffffff)); + DBG_88E("write RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", RF_P= ATH_A, arg, rtl8188e_PHY_QueryRFReg(padapter, arg, 0xffffffff)); break; =20 case 0x76: --=20 2.30.2 From nobody Mon Jun 29 08:55:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 01225C433EF for ; Sat, 12 Feb 2022 16:19:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237242AbiBLQSQ (ORCPT ); Sat, 12 Feb 2022 11:18:16 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:37892 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237047AbiBLQR7 (ORCPT ); Sat, 12 Feb 2022 11:17:59 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7A1AF240A6 for ; Sat, 12 Feb 2022 08:17:56 -0800 (PST) Received: from dslb-188-097-215-215.188.097.pools.vodafone-ip.de ([188.97.215.215] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nIv5s-0007YM-7b; Sat, 12 Feb 2022 17:17:52 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 09/10] staging: r8188eu: remove path parameter from phy_RFSerialRead Date: Sat, 12 Feb 2022 17:17:36 +0100 Message-Id: <20220212161737.381841-10-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220212161737.381841-1-martin@kaiser.cx> References: <20220212161737.381841-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" All callers of phy_RFSerialRead set the eRFPath parameter to RF_PATH_A. Remove the parameter and use RF_PATH_A directly. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/rtl8188e_phycfg.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c b/drivers/stagin= g/r8188eu/hal/rtl8188e_phycfg.c index 2dcd1df58aaa..e2e4443b7414 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c @@ -104,7 +104,6 @@ void rtl8188e_PHY_SetBBReg(struct adapter *Adapter, u32= RegAddr, u32 BitMask, u3 * * Input: * struct adapter *Adapter, -* enum rf_radio_path eRFPath, Radio path of A/B/C/D * u32 Offset, The target address to be read * * Output: None @@ -119,13 +118,12 @@ void rtl8188e_PHY_SetBBReg(struct adapter *Adapter, u= 32 RegAddr, u32 BitMask, u3 static u32 phy_RFSerialRead( struct adapter *Adapter, - enum rf_radio_path eRFPath, u32 Offset ) { u32 retValue =3D 0; struct hal_data_8188e *pHalData =3D &Adapter->haldata; - struct bb_reg_def *pPhyReg =3D &pHalData->PHYRegDef[eRFPath]; + struct bb_reg_def *pPhyReg =3D &pHalData->PHYRegDef[RF_PATH_A]; u32 NewOffset; u32 tmplong, tmplong2; u8 RfPiEnable =3D 0; @@ -143,10 +141,7 @@ phy_RFSerialRead( /* For RF A/B write 0x824/82c(does not work in the future) */ /* We must use 0x824 for RF A and B to execute read trigger */ tmplong =3D rtl8188e_PHY_QueryBBReg(Adapter, rFPGA0_XA_HSSIParameter2, bM= askDWord); - if (eRFPath =3D=3D RF_PATH_A) - tmplong2 =3D tmplong; - else - tmplong2 =3D rtl8188e_PHY_QueryBBReg(Adapter, pPhyReg->rfHSSIPara2, bMas= kDWord); + tmplong2 =3D tmplong; =20 tmplong2 =3D (tmplong2 & (~bLSSIReadAddress)) | (NewOffset << 23) | bLSSI= ReadEdge; /* T65 RF */ =20 @@ -158,10 +153,7 @@ phy_RFSerialRead( =20 udelay(10);/* PlatformStallExecution(10); */ =20 - if (eRFPath =3D=3D RF_PATH_A) - RfPiEnable =3D (u8)rtl8188e_PHY_QueryBBReg(Adapter, rFPGA0_XA_HSSIParame= ter1, BIT(8)); - else if (eRFPath =3D=3D RF_PATH_B) - RfPiEnable =3D (u8)rtl8188e_PHY_QueryBBReg(Adapter, rFPGA0_XB_HSSIParame= ter1, BIT(8)); + RfPiEnable =3D (u8)rtl8188e_PHY_QueryBBReg(Adapter, rFPGA0_XA_HSSIParamet= er1, BIT(8)); =20 if (RfPiEnable) { /* Read from BBreg8b8, 12 bits for 8190, 20bits for T6= 5 RF */ retValue =3D rtl8188e_PHY_QueryBBReg(Adapter, pPhyReg->rfLSSIReadBackPi,= bLSSIReadBackData); @@ -265,7 +257,7 @@ u32 rtl8188e_PHY_QueryRFReg(struct adapter *Adapter, u3= 2 RegAddr, u32 BitMask) { u32 Original_Value, Readback_Value, BitShift; =20 - Original_Value =3D phy_RFSerialRead(Adapter, RF_PATH_A, RegAddr); + Original_Value =3D phy_RFSerialRead(Adapter, RegAddr); =20 BitShift =3D phy_CalculateBitShift(BitMask); Readback_Value =3D (Original_Value & BitMask) >> BitShift; @@ -301,7 +293,7 @@ rtl8188e_PHY_SetRFReg( =20 /* RF data is 12 bits only */ if (BitMask !=3D bRFRegOffsetMask) { - Original_Value =3D phy_RFSerialRead(Adapter, RF_PATH_A, RegAddr); + Original_Value =3D phy_RFSerialRead(Adapter, RegAddr); BitShift =3D phy_CalculateBitShift(BitMask); Data =3D ((Original_Value & (~BitMask)) | (Data << BitShift)); } --=20 2.30.2 From nobody Mon Jun 29 08:55:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 164F2C433F5 for ; Sat, 12 Feb 2022 16:19:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237674AbiBLQSW (ORCPT ); Sat, 12 Feb 2022 11:18:22 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:38216 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237145AbiBLQSH (ORCPT ); Sat, 12 Feb 2022 11:18:07 -0500 Received: from viti.kaiser.cx (viti.kaiser.cx [IPv6:2a01:238:43fe:e600:cd0c:bd4a:7a3:8e9f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 609BB240A6 for ; Sat, 12 Feb 2022 08:17:57 -0800 (PST) Received: from dslb-188-097-215-215.188.097.pools.vodafone-ip.de ([188.97.215.215] helo=martin-debian-2.paytec.ch) by viti.kaiser.cx with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1nIv5t-0007YM-7U; Sat, 12 Feb 2022 17:17:53 +0100 From: Martin Kaiser To: Greg Kroah-Hartman Cc: Larry Finger , Phillip Potter , Michael Straube , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Martin Kaiser Subject: [PATCH 10/10] staging: r8188eu: we only need one struct bb_reg_def for path a Date: Sat, 12 Feb 2022 17:17:37 +0100 Message-Id: <20220212161737.381841-11-martin@kaiser.cx> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220212161737.381841-1-martin@kaiser.cx> References: <20220212161737.381841-1-martin@kaiser.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The r8188eu driver does no longer access rf path b registers via PHYRegDef. Change the PHYRegDef array in struct hal_data_8188e to a single variable that holds the register addresses for rf path a. Remove the initialisation of path b register addresses. Signed-off-by: Martin Kaiser --- drivers/staging/r8188eu/hal/rtl8188e_phycfg.c | 58 +++++++------------ drivers/staging/r8188eu/hal/rtl8188e_rf6052.c | 2 +- .../staging/r8188eu/include/rtl8188e_hal.h | 2 +- 3 files changed, 22 insertions(+), 40 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c b/drivers/stagin= g/r8188eu/hal/rtl8188e_phycfg.c index e2e4443b7414..b0e5b9f6a005 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c @@ -123,7 +123,7 @@ phy_RFSerialRead( { u32 retValue =3D 0; struct hal_data_8188e *pHalData =3D &Adapter->haldata; - struct bb_reg_def *pPhyReg =3D &pHalData->PHYRegDef[RF_PATH_A]; + struct bb_reg_def *pPhyReg =3D &pHalData->PHYRegDef; u32 NewOffset; u32 tmplong, tmplong2; u8 RfPiEnable =3D 0; @@ -215,7 +215,7 @@ phy_RFSerialWrite( { u32 DataAndAddr =3D 0; struct hal_data_8188e *pHalData =3D &Adapter->haldata; - struct bb_reg_def *pPhyReg =3D &pHalData->PHYRegDef[RF_PATH_A]; + struct bb_reg_def *pPhyReg =3D &pHalData->PHYRegDef; u32 NewOffset; =20 /* 2009/06/17 MH We can not execute IO for power save or other accident = mode. */ @@ -358,76 +358,58 @@ phy_InitBBRFRegisterDefinition( struct hal_data_8188e *pHalData =3D &Adapter->haldata; =20 /* RF Interface Sowrtware Control */ - pHalData->PHYRegDef[RF_PATH_A].rfintfs =3D rFPGA0_XAB_RFInterfaceSW; /* = 16 LSBs if read 32-bit from 0x870 */ - pHalData->PHYRegDef[RF_PATH_B].rfintfs =3D rFPGA0_XAB_RFInterfaceSW; /* = 16 MSBs if read 32-bit from 0x870 (16-bit for 0x872) */ + pHalData->PHYRegDef.rfintfs =3D rFPGA0_XAB_RFInterfaceSW; /* 16 LSBs if = read 32-bit from 0x870 */ =20 /* RF Interface Readback Value */ - pHalData->PHYRegDef[RF_PATH_A].rfintfi =3D rFPGA0_XAB_RFInterfaceRB; /* = 16 LSBs if read 32-bit from 0x8E0 */ - pHalData->PHYRegDef[RF_PATH_B].rfintfi =3D rFPGA0_XAB_RFInterfaceRB;/* 1= 6 MSBs if read 32-bit from 0x8E0 (16-bit for 0x8E2) */ + pHalData->PHYRegDef.rfintfi =3D rFPGA0_XAB_RFInterfaceRB; /* 16 LSBs if = read 32-bit from 0x8E0 */ =20 /* RF Interface Output (and Enable) */ - pHalData->PHYRegDef[RF_PATH_A].rfintfo =3D rFPGA0_XA_RFInterfaceOE; /* 1= 6 LSBs if read 32-bit from 0x860 */ - pHalData->PHYRegDef[RF_PATH_B].rfintfo =3D rFPGA0_XB_RFInterfaceOE; /* 1= 6 LSBs if read 32-bit from 0x864 */ + pHalData->PHYRegDef.rfintfo =3D rFPGA0_XA_RFInterfaceOE; /* 16 LSBs if r= ead 32-bit from 0x860 */ =20 /* RF Interface (Output and) Enable */ - pHalData->PHYRegDef[RF_PATH_A].rfintfe =3D rFPGA0_XA_RFInterfaceOE; /* 1= 6 MSBs if read 32-bit from 0x860 (16-bit for 0x862) */ - pHalData->PHYRegDef[RF_PATH_B].rfintfe =3D rFPGA0_XB_RFInterfaceOE; /* 1= 6 MSBs if read 32-bit from 0x864 (16-bit for 0x866) */ + pHalData->PHYRegDef.rfintfe =3D rFPGA0_XA_RFInterfaceOE; /* 16 MSBs if r= ead 32-bit from 0x860 (16-bit for 0x862) */ =20 /* Addr of LSSI. Wirte RF register by driver */ - pHalData->PHYRegDef[RF_PATH_A].rf3wireOffset =3D rFPGA0_XA_LSSIParameter;= /* LSSI Parameter */ - pHalData->PHYRegDef[RF_PATH_B].rf3wireOffset =3D rFPGA0_XB_LSSIParameter; + pHalData->PHYRegDef.rf3wireOffset =3D rFPGA0_XA_LSSIParameter; /* LSSI Pa= rameter */ =20 /* RF parameter */ - pHalData->PHYRegDef[RF_PATH_A].rfLSSI_Select =3D rFPGA0_XAB_RFParameter; = /* BB Band Select */ - pHalData->PHYRegDef[RF_PATH_B].rfLSSI_Select =3D rFPGA0_XAB_RFParameter; + pHalData->PHYRegDef.rfLSSI_Select =3D rFPGA0_XAB_RFParameter; /* BB Band= Select */ =20 /* Tx AGC Gain Stage (same for all path. Should we remove this?) */ - pHalData->PHYRegDef[RF_PATH_A].rfTxGainStage =3D rFPGA0_TxGainStage; /* T= x gain stage */ - pHalData->PHYRegDef[RF_PATH_B].rfTxGainStage =3D rFPGA0_TxGainStage; /* T= x gain stage */ + pHalData->PHYRegDef.rfTxGainStage =3D rFPGA0_TxGainStage; /* Tx gain stag= e */ =20 /* Tranceiver A~D HSSI Parameter-1 */ - pHalData->PHYRegDef[RF_PATH_A].rfHSSIPara1 =3D rFPGA0_XA_HSSIParameter1; = /* wire control parameter1 */ - pHalData->PHYRegDef[RF_PATH_B].rfHSSIPara1 =3D rFPGA0_XB_HSSIParameter1; = /* wire control parameter1 */ + pHalData->PHYRegDef.rfHSSIPara1 =3D rFPGA0_XA_HSSIParameter1; /* wire co= ntrol parameter1 */ =20 /* Tranceiver A~D HSSI Parameter-2 */ - pHalData->PHYRegDef[RF_PATH_A].rfHSSIPara2 =3D rFPGA0_XA_HSSIParameter2; = /* wire control parameter2 */ - pHalData->PHYRegDef[RF_PATH_B].rfHSSIPara2 =3D rFPGA0_XB_HSSIParameter2; = /* wire control parameter2 */ + pHalData->PHYRegDef.rfHSSIPara2 =3D rFPGA0_XA_HSSIParameter2; /* wire co= ntrol parameter2 */ =20 /* RF switch Control */ - pHalData->PHYRegDef[RF_PATH_A].rfSwitchControl =3D rFPGA0_XAB_SwitchContr= ol; /* TR/Ant switch control */ - pHalData->PHYRegDef[RF_PATH_B].rfSwitchControl =3D rFPGA0_XAB_SwitchContr= ol; + pHalData->PHYRegDef.rfSwitchControl =3D rFPGA0_XAB_SwitchControl; /* TR/A= nt switch control */ =20 /* AGC control 1 */ - pHalData->PHYRegDef[RF_PATH_A].rfAGCControl1 =3D rOFDM0_XAAGCCore1; - pHalData->PHYRegDef[RF_PATH_B].rfAGCControl1 =3D rOFDM0_XBAGCCore1; + pHalData->PHYRegDef.rfAGCControl1 =3D rOFDM0_XAAGCCore1; =20 /* AGC control 2 */ - pHalData->PHYRegDef[RF_PATH_A].rfAGCControl2 =3D rOFDM0_XAAGCCore2; - pHalData->PHYRegDef[RF_PATH_B].rfAGCControl2 =3D rOFDM0_XBAGCCore2; + pHalData->PHYRegDef.rfAGCControl2 =3D rOFDM0_XAAGCCore2; =20 /* RX AFE control 1 */ - pHalData->PHYRegDef[RF_PATH_A].rfRxIQImbalance =3D rOFDM0_XARxIQImbalance; - pHalData->PHYRegDef[RF_PATH_B].rfRxIQImbalance =3D rOFDM0_XBRxIQImbalance; + pHalData->PHYRegDef.rfRxIQImbalance =3D rOFDM0_XARxIQImbalance; =20 /* RX AFE control 1 */ - pHalData->PHYRegDef[RF_PATH_A].rfRxAFE =3D rOFDM0_XARxAFE; - pHalData->PHYRegDef[RF_PATH_B].rfRxAFE =3D rOFDM0_XBRxAFE; + pHalData->PHYRegDef.rfRxAFE =3D rOFDM0_XARxAFE; =20 /* Tx AFE control 1 */ - pHalData->PHYRegDef[RF_PATH_A].rfTxIQImbalance =3D rOFDM0_XATxIQImbalance; - pHalData->PHYRegDef[RF_PATH_B].rfTxIQImbalance =3D rOFDM0_XBTxIQImbalance; + pHalData->PHYRegDef.rfTxIQImbalance =3D rOFDM0_XATxIQImbalance; =20 /* Tx AFE control 2 */ - pHalData->PHYRegDef[RF_PATH_A].rfTxAFE =3D rOFDM0_XATxAFE; - pHalData->PHYRegDef[RF_PATH_B].rfTxAFE =3D rOFDM0_XBTxAFE; + pHalData->PHYRegDef.rfTxAFE =3D rOFDM0_XATxAFE; =20 /* Tranceiver LSSI Readback SI mode */ - pHalData->PHYRegDef[RF_PATH_A].rfLSSIReadBack =3D rFPGA0_XA_LSSIReadBack; - pHalData->PHYRegDef[RF_PATH_B].rfLSSIReadBack =3D rFPGA0_XB_LSSIReadBack; + pHalData->PHYRegDef.rfLSSIReadBack =3D rFPGA0_XA_LSSIReadBack; =20 /* Tranceiver LSSI Readback PI mode */ - pHalData->PHYRegDef[RF_PATH_A].rfLSSIReadBackPi =3D TransceiverA_HSPI_Rea= dback; - pHalData->PHYRegDef[RF_PATH_B].rfLSSIReadBackPi =3D TransceiverB_HSPI_Rea= dback; + pHalData->PHYRegDef.rfLSSIReadBackPi =3D TransceiverA_HSPI_Readback; } =20 void storePwrIndexDiffRateOffset(struct adapter *Adapter, u32 RegAddr, u32= BitMask, u32 Data) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c b/drivers/stagin= g/r8188eu/hal/rtl8188e_rf6052.c index 4a7a877e4017..d043b7bc4142 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_rf6052.c @@ -375,7 +375,7 @@ static int phy_RF6052_Config_ParaFile(struct adapter *A= dapter) =20 /* Initialize RF */ =20 - pPhyReg =3D &pHalData->PHYRegDef[0]; + pPhyReg =3D &pHalData->PHYRegDef; =20 /*----Store original RFENV control type----*/ u4RegValue =3D rtl8188e_PHY_QueryBBReg(Adapter, pPhyReg->rfintfs, bRFSI_R= FENV); diff --git a/drivers/staging/r8188eu/include/rtl8188e_hal.h b/drivers/stagi= ng/r8188eu/include/rtl8188e_hal.h index 5b27bae97e91..44321a53a345 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_hal.h +++ b/drivers/staging/r8188eu/include/rtl8188e_hal.h @@ -141,7 +141,7 @@ struct hal_data_8188e { =20 u32 AcParam_BE; /* Original parameter for BE, use for EDCA turbo. */ =20 - struct bb_reg_def PHYRegDef[2]; /* Radio A/B */ + struct bb_reg_def PHYRegDef; =20 u32 RfRegChnlVal; =20 --=20 2.30.2