staging: vt6655: Create one base function for four macros
cover staging: vt6655: Create one base function for four macros
Create one base function vt6655_mac_en_dis_bits_u32_reg 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
Philipp Hortmann (6):
staging: vt6655: Convert macro MACvEnableProtectMD to function
staging: vt6655: Create one function for four 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 | 40 +++++++++++++++++++++++++--- drivers/staging/vt6655/mac.h | 37 +++---------------------- 2 files changed, 40 insertions(+), 37 deletions(-)
Signature · 1 line
2.37.1
PATCH 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.
--- 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
@@ -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
@@ -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
PATCH 2/6 staging: vt6655: Create one function for four macros
In reply to Philipp HortmannCreate function vt6655_mac_en_dis_bits_u32_reg with three parameters to cover functionality of four macros.
--- drivers/staging/vt6655/device_main.c | 12 ++++++++++-- drivers/staging/vt6655/mac.h | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-)
drivers/staging/vt6655/device_main.c +10 -2
@@ -216,15 +216,23 @@ 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_en_dis_bits_u32_reg (void __iomem *iobase,bool en_not_dis,u32 bit_mask) {u32 reg_value; reg_value =ioread32 (iobase +MAC_REG_ENCFG ); - reg_value = reg_value |ENCFG_PROTECTMD ; +if (en_not_dis) + reg_value = reg_value | bit_mask; +else + reg_value = reg_value & ~bit_mask;iowrite32 (reg_value, iobase +MAC_REG_ENCFG ); } +static void MACvEnableProtectMD (void __iomem *iobase) +{ +vt6655_mac_en_dis_bits_u32_reg (iobase,ENABLE ,ENCFG_PROTECTMD ); +} +/* * Initialisation of MAC & BBP registers */
drivers/staging/vt6655/mac.h +3 -0
@@ -21,6 +21,9 @@#include "device.h" /*--------------------- Export Definitions -------------------------*/ +#define ENABLE 1 +#define DISABLE 0 +/* Registers in the MAC */ #define MAC_MAX_CONTEXT_SIZE_PAGE0 256#define MAC_MAX_CONTEXT_SIZE_PAGE1 128
Signature · 1 line
2.37.1
PATCH 3/6 staging: vt6655: Rename function MACvEnableProtectMD
In reply to Philipp HortmannRename MACvEnableProtectMD function to vt6655_mac_en_protect_md to avoid CamelCase which is not accepted by checkpatch.pl and to clean up namespace.
--- 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
@@ -228,7 +228,7 @@ static void vt6655_mac_en_dis_bits_u32_reg(void __iomem *iobase, bool en_not_disiowrite32 (reg_value, iobase +MAC_REG_ENCFG ); } -static void MACvEnableProtectMD (void __iomem *iobase) +static void vt6655_mac_en_protect_md (void __iomem *iobase) {vt6655_mac_en_dis_bits_u32_reg (iobase,ENABLE ,ENCFG_PROTECTMD ); }
@@ -1478,7 +1478,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
@@ -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
PATCH 4/6 staging: vt6655: Convert macro MACvDisableProtectMD
In reply to Philipp HortmannConvert macro MACvDisableProtectMD to static function which calls the common static function vt6655_mac_en_dis_bits_u32_reg. 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.
--- drivers/staging/vt6655/device_main.c | 7 ++++++- drivers/staging/vt6655/mac.h | 10 +--------- 2 files changed, 7 insertions(+), 10 deletions(-)
drivers/staging/vt6655/device_main.c +6 -1
@@ -233,6 +233,11 @@ static void vt6655_mac_en_protect_md(void __iomem *iobase)vt6655_mac_en_dis_bits_u32_reg (iobase,ENABLE ,ENCFG_PROTECTMD ); } +static void vt6655_mac_dis_protect_md (void __iomem *iobase) +{ +vt6655_mac_en_dis_bits_u32_reg (iobase,DISABLE ,ENCFG_PROTECTMD ); +} +/* * Initialisation of MAC & BBP registers */
@@ -1480,7 +1485,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
@@ -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__
@@ -546,14 +546,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
PATCH 5/6 staging: vt6655: Convert macro MACvEnableBarkerPreambleMd
In reply to Philipp HortmannConvert macro MACvEnableBarkerPreambleMd to static function which calls the common static function vt6655_mac_en_dis_bits_u32_reg. 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.
--- drivers/staging/vt6655/device_main.c | 7 ++++++- drivers/staging/vt6655/mac.h | 8 -------- 2 files changed, 6 insertions(+), 9 deletions(-)
drivers/staging/vt6655/device_main.c +6 -1
@@ -238,6 +238,11 @@ static void vt6655_mac_dis_protect_md(void __iomem *iobase)vt6655_mac_en_dis_bits_u32_reg (iobase,DISABLE ,ENCFG_PROTECTMD ); } +static void vt6655_mac_en_barker_preamble_md (void __iomem *iobase) +{ +vt6655_mac_en_dis_bits_u32_reg (iobase,ENABLE ,ENCFG_BARKERPREAM ); +} +/* * Initialisation of MAC & BBP registers */
@@ -1473,7 +1478,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
@@ -546,14 +546,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
PATCH 6/6 staging: vt6655: Convert macro MACvDisableBarkerPreambleMd
In reply to Philipp HortmannConvert macro MACvDisableBarkerPreambleMd to static function which calls the common static function vt6655_mac_en_dis_bits_u32_reg. 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.
--- drivers/staging/vt6655/device_main.c | 7 ++++++- drivers/staging/vt6655/mac.h | 8 -------- 2 files changed, 6 insertions(+), 9 deletions(-)
drivers/staging/vt6655/device_main.c +6 -1
@@ -243,6 +243,11 @@ static void vt6655_mac_en_barker_preamble_md(void __iomem *iobase)vt6655_mac_en_dis_bits_u32_reg (iobase,ENABLE ,ENCFG_BARKERPREAM ); } +static void vt6655_mac_dis_barker_preamble_md (void __iomem *iobase) +{ +vt6655_mac_en_dis_bits_u32_reg (iobase,DISABLE ,ENCFG_BARKERPREAM ); +} +/* * Initialisation of MAC & BBP registers */
@@ -1481,7 +1486,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
@@ -546,14 +546,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
Re: [PATCH 2/6] staging: vt6655: Create one function for four macros
In reply to Philipp HortmannQuoted 14 lines · Philipp Hortmann
Create function
vt6655_mac_en_dis_bits_u32_regwith three parameters to cover functionality of four macros.Signed-off-by Philipp Hortmann <[email protected]>--- drivers/staging/vt6655/device_main.c | 12 ++++++++++-- drivers/staging/vt6655/mac.h | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-)drivers/staging/vt6655/device_main.c +0
-0
drivers/staging/vt6655/device_main.c static void vt6655_mac_dma_ctl(void __iomem *iobase, u8 reg_index) · line 219
Quoted 5 lines
drivers/staging/vt6655/device_main.c +1
-1@@ -216,15 +216,23 @@ 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_en_dis_bits_u32_reg (void __iomem *iobase,bool en_not_dis,u32 bit_mask)
Never have "not" in a variable name. Just make this two functions.
static void vt6655_mac_set_bits(void __iomem *iobase, u32 mask) static void vt6655_mac_clear_bits(void __iomem *iobase, u32 mask)
Rename "bit_mask" to "mask" or "bits" because bit masks are the only type of mask that there is in the kernel.
regards,
dan carpenter