[PATCH 2/6] staging: vt6655: Create one function for four macros
From: Philipp Hortmann
Date: Sat Jul 30 2022 - 15:20:59 EST
Create function vt6655_mac_en_dis_bits_u32_reg with three parameters to
cover functionality of four macros.
Signed-off-by: Philipp Hortmann <philipp.g.hortmann@xxxxxxxxx>
---
drivers/staging/vt6655/device_main.c | 12 ++++++++++--
drivers/staging/vt6655/mac.h | 3 +++
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c
index 3565aa53f007..5f64204dc312 100644
--- a/drivers/staging/vt6655/device_main.c
+++ b/drivers/staging/vt6655/device_main.c
@@ -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
*/
diff --git a/drivers/staging/vt6655/mac.h b/drivers/staging/vt6655/mac.h
index 84d203c56b1f..31e75df5f02f 100644
--- a/drivers/staging/vt6655/mac.h
+++ b/drivers/staging/vt6655/mac.h
@@ -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
--
2.37.1