Switch from sign_extend32(FIELD_GET()) to the dedicated FIELD_GET_SIGNED() and don't calculate the fields length explicitly. Signed-off-by: Yury Norov --- drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c | 4 ++-- drivers/net/wireless/realtek/rtw89/rtw8852b_common.c | 4 ++-- drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c | 4 ++-- drivers/net/wireless/realtek/rtw89/rtw8852c.c | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c b/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c index 463399413318..8679b21fd3fd 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c @@ -334,8 +334,8 @@ static void _check_addc(struct rtw89_dev *rtwdev, enum rtw89_rf_path path) for (i = 0; i < ADDC_T_AVG; i++) { tmp = rtw89_phy_read32_mask(rtwdev, R_DBG32_D, MASKDWORD); - dc_re += sign_extend32(FIELD_GET(0xfff000, tmp), 11); - dc_im += sign_extend32(FIELD_GET(0xfff, tmp), 11); + dc_re += FIELD_GET_SIGNED(0xfff000, tmp); + dc_im += FIELD_GET_SIGNED(0xfff, tmp); } dc_re /= ADDC_T_AVG; diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852b_common.c b/drivers/net/wireless/realtek/rtw89/rtw8852b_common.c index 65b839323e3e..7894834091fe 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8852b_common.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8852b_common.c @@ -206,9 +206,9 @@ static void rtw8852bx_efuse_parsing_tssi(struct rtw89_dev *rtwdev, static bool _decode_efuse_gain(u8 data, s8 *high, s8 *low) { if (high) - *high = sign_extend32(FIELD_GET(GENMASK(7, 4), data), 3); + *high = FIELD_GET_SIGNED(GENMASK(7, 4), data); if (low) - *low = sign_extend32(FIELD_GET(GENMASK(3, 0), data), 3); + *low = FIELD_GET(GENMASK(3, 0), data); return data != 0xff; } diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c b/drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c index 70b1515c00fa..8db6ea475128 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c @@ -497,8 +497,8 @@ static void _check_addc(struct rtw89_dev *rtwdev, enum rtw89_rf_path path) for (i = 0; i < ADDC_T_AVG; i++) { tmp = rtw89_phy_read32_mask(rtwdev, R_DBG32_D, MASKDWORD); - dc_re += sign_extend32(FIELD_GET(0xfff000, tmp), 11); - dc_im += sign_extend32(FIELD_GET(0xfff, tmp), 11); + dc_re += FIELD_GET_SIGNED(0xfff000, tmp); + dc_im += FIELD_GET_SIGNED(0xfff, tmp); } dc_re /= ADDC_T_AVG; diff --git a/drivers/net/wireless/realtek/rtw89/rtw8852c.c b/drivers/net/wireless/realtek/rtw89/rtw8852c.c index 40db7e3c0d97..528f9f4b1fc3 100644 --- a/drivers/net/wireless/realtek/rtw89/rtw8852c.c +++ b/drivers/net/wireless/realtek/rtw89/rtw8852c.c @@ -517,9 +517,9 @@ static void rtw8852c_efuse_parsing_tssi(struct rtw89_dev *rtwdev, static bool _decode_efuse_gain(u8 data, s8 *high, s8 *low) { if (high) - *high = sign_extend32(FIELD_GET(GENMASK(7, 4), data), 3); + *high = FIELD_GET_SIGNED(GENMASK(7, 4), data); if (low) - *low = sign_extend32(FIELD_GET(GENMASK(3, 0), data), 3); + *low = FIELD_GET_SIGNED(GENMASK(3, 0), data); return data != 0xff; } -- 2.51.0