lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c040cd03d04fb861b85b4f56cd04b473bb778ebd.camel@perches.com>
Date:   Sun, 17 Jul 2022 23:07:35 -0700
From:   Joe Perches <joe@...ches.com>
To:     Philipp Hortmann <philipp.g.hortmann@...il.com>,
        Forest Bond <forest@...ttletooquiet.net>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/7] staging: vt6655: Rename dwData to reg_value in four
 macros

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)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ