[PATCH 05/12][SRU][OEM-OSP1-B] rtw88: add rtw_read8_mask and rtw_read16_mask

You-Sheng Yang vicamo.yang at canonical.com
Fri May 29 06:18:30 UTC 2020


From: Yan-Hsuan Chuang <yhchuang at realtek.com>

BugLink: https://bugs.launchpad.net/bugs/1878147

Both are missing but could be used sometimes.

Signed-off-by: Yan-Hsuan Chuang <yhchuang at realtek.com>
Signed-off-by: Kalle Valo <kvalo at codeaurora.org>
(cherry picked from commit 9e01c07069dbd0e025352d958c873a6504f8ce1b)
Signed-off-by: You-Sheng Yang <vicamo.yang at canonical.com>
---
 drivers/net/wireless/realtek/rtw88/hci.h | 26 ++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtw88/hci.h b/drivers/net/wireless/realtek/rtw88/hci.h
index 6c57a07a2c93..1fb1c971b5a5 100644
--- a/drivers/net/wireless/realtek/rtw88/hci.h
+++ b/drivers/net/wireless/realtek/rtw88/hci.h
@@ -189,6 +189,32 @@ rtw_read32_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask)
 	return ret;
 }
 
+static inline u16
+rtw_read16_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask)
+{
+	u32 shift = __ffs(mask);
+	u32 orig;
+	u32 ret;
+
+	orig = rtw_read16(rtwdev, addr);
+	ret = (orig & mask) >> shift;
+
+	return ret;
+}
+
+static inline u8
+rtw_read8_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask)
+{
+	u32 shift = __ffs(mask);
+	u32 orig;
+	u32 ret;
+
+	orig = rtw_read8(rtwdev, addr);
+	ret = (orig & mask) >> shift;
+
+	return ret;
+}
+
 static inline void
 rtw_write32_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 data)
 {
-- 
2.25.1




More information about the kernel-team mailing list