Re: [PATCH 1/7] staging: vt6655: Rename dwData to reg_value in four macros
From: Joe Perches
Date: Mon Jul 18 2022 - 02:07:45 EST
On Mon, 2022-07-18 at 00:20 +0200, Philipp Hortmann wrote:
> Fix name of a variable in four macros that use CamelCase which is not
> accepted by checkpatch.pl
[]
> diff --git a/drivers/staging/vt6655/mac.h b/drivers/staging/vt6655/mac.h
[]
> @@ -539,9 +539,9 @@
>
> #define MACvReceive0(iobase) \
> do { \
> - unsigned long dwData; \
> - dwData = ioread32(iobase + MAC_REG_RXDMACTL0); \
> - if (dwData & DMACTL_RUN) \
> + unsigned long reg_value; \
> + reg_value = ioread32(iobase + MAC_REG_RXDMACTL0); \
> + if (reg_value & DMACTL_RUN) \
> iowrite32(DMACTL_WAKE, iobase + MAC_REG_RXDMACTL0); \
> else \
> iowrite32(DMACTL_RUN, iobase + MAC_REG_RXDMACTL0); \
> @@ -549,9 +549,9 @@ do { \
>
> #define MACvReceive1(iobase) \
> do { \
> - unsigned long dwData; \
> - dwData = ioread32(iobase + MAC_REG_RXDMACTL1); \
> - if (dwData & DMACTL_RUN) \
> + unsigned long reg_value; \
> + reg_value = ioread32(iobase + MAC_REG_RXDMACTL1); \
> + if (reg_value & DMACTL_RUN) \
> iowrite32(DMACTL_WAKE, iobase + MAC_REG_RXDMACTL1); \
> else \
> iowrite32(DMACTL_RUN, iobase + MAC_REG_RXDMACTL1); \
> @@ -559,9 +559,9 @@ do { \
>
> #define MACvTransmit0(iobase) \
> do { \
> - unsignedc long dwData; \
> - dwData = ioread32(iobase + MAC_REG_TXDMACTL0); \
> - if (dwData & DMACTL_RUN) \
> + unsigned long reg_value; \
> + reg_value = ioread32(iobase + MAC_REG_TXDMACTL0); \
> + if (reg_value & DMACTL_RUN) \
> iowrite32(DMACTL_WAKE, iobase + MAC_REG_TXDMACTL0); \
> else \
> iowrite32(DMACTL_RUN, iobase + MAC_REG_TXDMACTL0); \
> @@ -569,9 +569,9 @@ do { \
>
> #define MACvTransmitAC0(iobase) \
> do { \
> - unsigned long dwData; \
> - dwData = ioread32(iobase + MAC_REG_AC0DMACTL); \
> - if (dwData & DMACTL_RUN) \
> + unsigned long reg_value; \
> + reg_value = ioread32(iobase + MAC_REG_AC0DMACTL); \
> + if (reg_value & DMACTL_RUN) \
> iowrite32(DMACTL_WAKE, iobase + MAC_REG_AC0DMACTL); \
> else \
> iowrite32(DMACTL_RUN, iobase + MAC_REG_AC0DMACTL); \
Please remember that checkpatch is a stupid little scripted tool
and the actual goal is to have readable code.
Look a bit beyond the code and see if and how you could make the
code better.
All of these macros have the same form and logic.
Perhaps it'd be better to use another indirect macro and define
all of these with that new macro.
Something like:
#define mac_v(iobase, reg) \
do { \
void __iomem *addr = (iobase) + (reg); \
iowrite32(ioread32(addr) & DMACTL_RUN ? DMACTL_WAKE : DMACTL_RUN,\
addr); \
} while (0)
#define MACvReceive0(iobase) mac_v(iobase, MAC_REG_RXDMACTL0)
#define MACvReceive1(iobase) mac_v(iobase, MAC_REG_RXDMACTL1)
#define MACvTransmit0(iobase) mac_v(iobase, MAC_REG_TXDMACTL0)
#define MACvTransmitAC0(iobase) mac_v(iobase, MAC_REG_AC0DMACTL)