Skip to contentSkip to conversation

staging: vt6655: Create two base functions for four macros

PATCH New Philipp Hortmann 1 participant 7 messages Aug 7, 2022 Staging

lore
Share & tools
lore
#0 lore raw

v2 cover staging: vt6655: Create two base functions for four macros

Create two base functions vt6655_mac_set_bits and vt6655_mac_clear_bits with parameters for four multiline macros. Multiline macros are not liked by kernel community.

Tested with vt6655 on mini PCI Module Transferred this patch over wlan connection of vt6655

V1 -> V2: Devided vt6655_mac_en_dis_bits_u32_reg into
vt6655_mac_set_bits and vt6655_mac_clear_bits Changed variable from bit_mask to mask

Philipp Hortmann (6):
staging: vt6655: Convert macro MACvEnableProtectMD to function
staging: vt6655: Create one function for two macros
staging: vt6655: Rename function MACvEnableProtectMD
staging: vt6655: Convert macro MACvDisableProtectMD
staging: vt6655: Convert macro MACvEnableBarkerPreambleMd
staging: vt6655: Convert macro MACvDisableBarkerPreambleMd

 drivers/staging/vt6655/device_main.c | 46 +++++++++++++++++++++++++---
 drivers/staging/vt6655/mac.h         | 34 +-------------------
 2 files changed, 43 insertions(+), 37 deletions(-)
Signature · 1 line
2.37.1
#1 lore raw

PATCH v2 1/6 staging: vt6655: Convert macro MACvEnableProtectMD to function

Convert macro to static function. Multiline macros are not liked by kernel community. Rename variable dwOrgValue to reg_value to avoid CamelCase which is not accepted by checkpatch.pl. Change variable declaration to u32 as this improves readability.

---
V1 -> V2: No changes

---
 drivers/staging/vt6655/device_main.c | 9 +++++++++
 drivers/staging/vt6655/mac.h         | 8 --------
 2 files changed, 9 insertions(+), 8 deletions(-)
drivers/staging/vt6655/device_main.c +9 -0
index 8db655742bd4..ab6456fc2b3f 100644
@@ -216,6 +216,15 @@ static void vt6655_mac_dma_ctl(void __iomem *iobase, u8 reg_index)
 		iowrite32(DMACTL_RUN, iobase + reg_index);
 }
 
+static void MACvEnableProtectMD(void __iomem *iobase)
+{
+	u32 reg_value;
+
+	reg_value = ioread32(iobase + MAC_REG_ENCFG);
+	reg_value = reg_value | ENCFG_PROTECTMD;
+	iowrite32(reg_value, iobase + MAC_REG_ENCFG);
+}
+
 /*
  * Initialisation of MAC & BBP registers
  */
drivers/staging/vt6655/mac.h +0 -8
index 467c599a3289..84d203c56b1f 100644
@@ -543,14 +543,6 @@
 #define MACvSelectPage1(iobase)				\
 	iowrite8(1, iobase + MAC_REG_PAGE1SEL)
 
-#define MACvEnableProtectMD(iobase)					\
-do {									\
-	unsigned long dwOrgValue;					\
-	dwOrgValue = ioread32(iobase + MAC_REG_ENCFG);			\
-	dwOrgValue = dwOrgValue | ENCFG_PROTECTMD;			\
-	iowrite32((u32)dwOrgValue, iobase + MAC_REG_ENCFG);		\
-} while (0)
-
 #define MACvDisableProtectMD(iobase)					\
 do {									\
 	unsigned long dwOrgValue;					\
Signature · 1 line
2.37.1
#2 lore raw

PATCH v2 2/6 staging: vt6655: Create one function for two macros

In reply to Philipp Hortmann

Create function vt6655_mac_set_bits with two parameters to cover functionality of two macros.

---
V1 -> V2: Change function to cover only the set bits part and omitted
the clear bits part
Changed title from "...four..." to "...two..." Changed description accordingly

---
 drivers/staging/vt6655/device_main.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
drivers/staging/vt6655/device_main.c +7 -2
index ab6456fc2b3f..dc50bff4403f 100644
@@ -216,15 +216,20 @@ static void vt6655_mac_dma_ctl(void __iomem *iobase, u8 reg_index)
 		iowrite32(DMACTL_RUN, iobase + reg_index);
 }
 
-static void MACvEnableProtectMD(void __iomem *iobase)
+static void vt6655_mac_set_bits(void __iomem *iobase, u32 mask)
 {
 	u32 reg_value;
 
 	reg_value = ioread32(iobase + MAC_REG_ENCFG);
-	reg_value = reg_value | ENCFG_PROTECTMD;
+	reg_value = reg_value | mask;
 	iowrite32(reg_value, iobase + MAC_REG_ENCFG);
 }
 
+static void MACvEnableProtectMD(void __iomem *iobase)
+{
+	vt6655_mac_set_bits(iobase, ENCFG_PROTECTMD);
+}
+
 /*
  * Initialisation of MAC & BBP registers
  */
Signature · 1 line
2.37.1
#3 lore raw

PATCH v2 3/6 staging: vt6655: Rename function MACvEnableProtectMD

In reply to Philipp Hortmann

Rename MACvEnableProtectMD function to vt6655_mac_en_protect_md to avoid CamelCase which is not accepted by checkpatch.pl and to clean up namespace.

---
V1 -> V2: No changes

---
 drivers/staging/vt6655/device_main.c | 4 ++--
 drivers/staging/vt6655/mac.h         | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
drivers/staging/vt6655/device_main.c +2 -2
index dc50bff4403f..ccfd4bfa0502 100644
@@ -225,7 +225,7 @@ static void vt6655_mac_set_bits(void __iomem *iobase, u32 mask)
 	iowrite32(reg_value, iobase + MAC_REG_ENCFG);
 }
 
-static void MACvEnableProtectMD(void __iomem *iobase)
+static void vt6655_mac_en_protect_md(void __iomem *iobase)
 {
 	vt6655_mac_set_bits(iobase, ENCFG_PROTECTMD);
 }
@@ -1475,7 +1475,7 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
 
 	if (changed & BSS_CHANGED_ERP_CTS_PROT) {
 		if (conf->use_cts_prot)
-			MACvEnableProtectMD(priv->port_offset);
+			vt6655_mac_en_protect_md(priv->port_offset);
 		else
 			MACvDisableProtectMD(priv->port_offset);
 	}
drivers/staging/vt6655/mac.h +1 -1
index 84d203c56b1f..4de9974e6c69 100644
@@ -12,7 +12,7 @@
  * Revision History:
  *      07-01-2003 Bryan YC Fan:  Re-write codes to support VT3253 spec.
  *      08-25-2003 Kyle Hsu:      Porting MAC functions from sim53.
- *      09-03-2003 Bryan YC Fan:  Add MACvDisableProtectMD & MACvEnableProtectMD
+ *      09-03-2003 Bryan YC Fan:  Add MACvDisableProtectMD & vt6655_mac_en_protect_md
  */
 
 #ifndef __MAC_H__
Signature · 1 line
2.37.1
#4 lore raw

PATCH v2 4/6 staging: vt6655: Convert macro MACvDisableProtectMD

In reply to Philipp Hortmann

Convert macro MACvDisableProtectMD to static function which calls the new common static function vt6655_mac_clear_bits. This saves codelines and multiline macros are not liked by kernel community. Function name is also changed to avoid CamelCase which is not accepted by checkpatch.pl and to clean up namespace.

---
V1 -> V2: Added new function vt6655_mac_clear_bits
Updated description

---
 drivers/staging/vt6655/device_main.c | 16 +++++++++++++++-
 drivers/staging/vt6655/mac.h         | 10 +---------
 2 files changed, 16 insertions(+), 10 deletions(-)
drivers/staging/vt6655/device_main.c +15 -1
index ccfd4bfa0502..96945fb8d536 100644
@@ -225,11 +225,25 @@ static void vt6655_mac_set_bits(void __iomem *iobase, u32 mask)
 	iowrite32(reg_value, iobase + MAC_REG_ENCFG);
 }
 
+static void vt6655_mac_clear_bits(void __iomem *iobase, u32 mask)
+{
+	u32 reg_value;
+
+	reg_value = ioread32(iobase + MAC_REG_ENCFG);
+	reg_value = reg_value & ~mask;
+	iowrite32(reg_value, iobase + MAC_REG_ENCFG);
+}
+
 static void vt6655_mac_en_protect_md(void __iomem *iobase)
 {
 	vt6655_mac_set_bits(iobase, ENCFG_PROTECTMD);
 }
 
+static void vt6655_mac_dis_protect_md(void __iomem *iobase)
+{
+	vt6655_mac_clear_bits(iobase, ENCFG_PROTECTMD);
+}
+
 /*
  * Initialisation of MAC & BBP registers
  */
@@ -1477,7 +1491,7 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
 		if (conf->use_cts_prot)
 			vt6655_mac_en_protect_md(priv->port_offset);
 		else
-			MACvDisableProtectMD(priv->port_offset);
+			vt6655_mac_dis_protect_md(priv->port_offset);
 	}
 
 	if (changed & BSS_CHANGED_ERP_SLOT) {
drivers/staging/vt6655/mac.h +1 -9
index 4de9974e6c69..a7d6254fded0 100644
@@ -12,7 +12,7 @@
  * Revision History:
  *      07-01-2003 Bryan YC Fan:  Re-write codes to support VT3253 spec.
  *      08-25-2003 Kyle Hsu:      Porting MAC functions from sim53.
- *      09-03-2003 Bryan YC Fan:  Add MACvDisableProtectMD & vt6655_mac_en_protect_md
+ *      09-03-2003 Bryan YC Fan:  Add vt6655_mac_dis_protect_md & vt6655_mac_en_protect_md
  */
 
 #ifndef __MAC_H__
@@ -543,14 +543,6 @@
 #define MACvSelectPage1(iobase)				\
 	iowrite8(1, iobase + MAC_REG_PAGE1SEL)
 
-#define MACvDisableProtectMD(iobase)					\
-do {									\
-	unsigned long dwOrgValue;					\
-	dwOrgValue = ioread32(iobase + MAC_REG_ENCFG);			\
-	dwOrgValue = dwOrgValue & ~ENCFG_PROTECTMD;			\
-	iowrite32((u32)dwOrgValue, iobase + MAC_REG_ENCFG);		\
-} while (0)
-
 #define MACvEnableBarkerPreambleMd(iobase)				\
 do {									\
 	unsigned long dwOrgValue;					\
Signature · 1 line
2.37.1
#5 lore raw

PATCH v2 5/6 staging: vt6655: Convert macro MACvEnableBarkerPreambleMd

In reply to Philipp Hortmann

Convert macro MACvEnableBarkerPreambleMd to static function which calls the common static function vt6655_mac_set_bits. This saves codelines and multiline macros are not liked by kernel community. Function name is also changed to avoid CamelCase which is not accepted by checkpatch.pl and to clean up namespace.

---
V1 -> V2: Changed used function to vt6655_mac_set_bits

---
 drivers/staging/vt6655/device_main.c | 6 +++++-
 drivers/staging/vt6655/mac.h         | 8 --------
 2 files changed, 5 insertions(+), 9 deletions(-)
drivers/staging/vt6655/device_main.c +5 -1
index 96945fb8d536..46bd88ee4668 100644
@@ -244,6 +244,10 @@ static void vt6655_mac_dis_protect_md(void __iomem *iobase)
 	vt6655_mac_clear_bits(iobase, ENCFG_PROTECTMD);
 }
 
+static void vt6655_mac_en_barker_preamble_md(void __iomem *iobase)
+{
+	vt6655_mac_set_bits(iobase, ENCFG_BARKERPREAM);
+}
 /*
  * Initialisation of MAC & BBP registers
  */
@@ -1479,7 +1483,7 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
 
 	if (changed & BSS_CHANGED_ERP_PREAMBLE) {
 		if (conf->use_short_preamble) {
-			MACvEnableBarkerPreambleMd(priv->port_offset);
+			vt6655_mac_en_barker_preamble_md(priv->port_offset);
 			priv->preamble_type = true;
 		} else {
 			MACvDisableBarkerPreambleMd(priv->port_offset);
drivers/staging/vt6655/mac.h +0 -8
index a7d6254fded0..3400ea15b673 100644
@@ -543,14 +543,6 @@
 #define MACvSelectPage1(iobase)				\
 	iowrite8(1, iobase + MAC_REG_PAGE1SEL)
 
-#define MACvEnableBarkerPreambleMd(iobase)				\
-do {									\
-	unsigned long dwOrgValue;					\
-	dwOrgValue = ioread32(iobase + MAC_REG_ENCFG);			\
-	dwOrgValue = dwOrgValue | ENCFG_BARKERPREAM;			\
-	iowrite32((u32)dwOrgValue, iobase + MAC_REG_ENCFG);		\
-} while (0)
-
 #define MACvDisableBarkerPreambleMd(iobase)				\
 do {									\
 	unsigned long dwOrgValue;					\
Signature · 1 line
2.37.1
#6 lore raw

PATCH v2 6/6 staging: vt6655: Convert macro MACvDisableBarkerPreambleMd

In reply to Philipp Hortmann

Convert macro MACvDisableBarkerPreambleMd to static function which calls the common static function vt6655_mac_clear_bits. This saves codelines and multiline macros are not liked by kernel community. Function name is also changed to avoid CamelCase which is not accepted by checkpatch.pl and to clean up namespace.

---
V1 -> V2: Changed used function to vt6655_mac_clear_bits

---
 drivers/staging/vt6655/device_main.c | 8 +++++++-
 drivers/staging/vt6655/mac.h         | 8 --------
 2 files changed, 7 insertions(+), 9 deletions(-)
drivers/staging/vt6655/device_main.c +7 -1
index 46bd88ee4668..8e2a976aaaad 100644
@@ -248,6 +248,12 @@ static void vt6655_mac_en_barker_preamble_md(void __iomem *iobase)
 {
 	vt6655_mac_set_bits(iobase, ENCFG_BARKERPREAM);
 }
+
+static void vt6655_mac_dis_barker_preamble_md(void __iomem *iobase)
+{
+	vt6655_mac_clear_bits(iobase, ENCFG_BARKERPREAM);
+}
+
 /*
  * Initialisation of MAC & BBP registers
  */
@@ -1486,7 +1492,7 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
 			vt6655_mac_en_barker_preamble_md(priv->port_offset);
 			priv->preamble_type = true;
 		} else {
-			MACvDisableBarkerPreambleMd(priv->port_offset);
+			vt6655_mac_dis_barker_preamble_md(priv->port_offset);
 			priv->preamble_type = false;
 		}
 	}
drivers/staging/vt6655/mac.h +0 -8
index 3400ea15b673..a75cd318ee25 100644
@@ -543,14 +543,6 @@
 #define MACvSelectPage1(iobase)				\
 	iowrite8(1, iobase + MAC_REG_PAGE1SEL)
 
-#define MACvDisableBarkerPreambleMd(iobase)				\
-do {									\
-	unsigned long dwOrgValue;					\
-	dwOrgValue = ioread32(iobase + MAC_REG_ENCFG);			\
-	dwOrgValue = dwOrgValue & ~ENCFG_BARKERPREAM;			\
-	iowrite32((u32)dwOrgValue, iobase + MAC_REG_ENCFG);		\
-} while (0)
-
 #define MACvSetBBType(iobase, byTyp)					\
 do {									\
 	unsigned long dwOrgValue;					\
Signature · 1 line
2.37.1