Thread (27 messages) 27 messages, 4 authors, 2021-03-26

Re: [PATCH 04/15] staging: rtl8723bs: put parentheses on macros with complex values in include/basic_types.h

From: Dan Carpenter <hidden>
Date: 2021-03-26 10:05:26
Also in: lkml

On Fri, Mar 26, 2021 at 10:09:11AM +0100, Fabio Aiuto wrote:
quoted hunk ↗ jump to hunk
fix the following checkpatch warnings:

ERROR: Macros with complex values should be enclosed in parentheses
154: FILE: drivers/staging/rtl8723bs/include/basic_types.h:154:
+#define SET_BITS_TO_LE_4BYTE(__pstart, __bitoffset, __bitlen, __val) \
--
ERROR: Macros with multiple statements should be enclosed in
a do - while loop
161: FILE: drivers/staging/rtl8723bs/include/basic_types.h:161:
+#define SET_BITS_TO_LE_2BYTE(__pstart, __bitoffset, __bitlen, __val) \
--
ERROR: Macros with complex values should be enclosed in parentheses
168: FILE: drivers/staging/rtl8723bs/include/basic_types.h:168:
+#define SET_BITS_TO_LE_1BYTE(__pstart, __bitoffset, __bitlen, __val) \

parentheses solution preferred for all fixes and made macros more
readables

Signed-off-by: Fabio Aiuto <redacted>
---
 .../staging/rtl8723bs/include/basic_types.h   | 30 +++++++++++--------
 1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/drivers/staging/rtl8723bs/include/basic_types.h b/drivers/staging/rtl8723bs/include/basic_types.h
index 76304086107a..5054c2e3384c 100644
--- a/drivers/staging/rtl8723bs/include/basic_types.h
+++ b/drivers/staging/rtl8723bs/include/basic_types.h
@@ -152,24 +152,30 @@
 /* 		Set subfield of little-endian 4-byte value to specified value. */
 /*  */
 #define SET_BITS_TO_LE_4BYTE(__pstart, __bitoffset, __bitlen, __val) \
-		*((u32 *)(__pstart)) =				\
-		(						\
-		LE_BITS_CLEARED_TO_4BYTE(__pstart, __bitoffset, __bitlen) | \
-		((((u32)__val) & BIT_LEN_MASK_32(__bitlen)) << (__bitoffset)) \
+		(\
+			*((u32 *)(__pstart)) =				\
+			(						\
+				LE_BITS_CLEARED_TO_4BYTE(__pstart, __bitoffset, __bitlen) | \
+				((((u32)__val) & BIT_LEN_MASK_32(__bitlen)) << (__bitoffset)) \
+			)\
 		)
 
These macros are terrible and this makes it uglier.  Better to just
ignore checkpatch until we can figure out a way to re-write this
properly.

regards,
dan carpenter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help