On 7/18/22 14:41, Dan Carpenter wrote:
On Mon, Jul 18, 2022 at 12:20:25AM +0200, Philipp Hortmann wrote:
checkpatch.pl does not accept multiline macros.
What? Really?
You are right. It does not really complain about multiline macros but
you cannot have a clean checkpatch check when using more than one macro
containing the same variable. Find more info below.
I tested this to see if was true and it just complained about potential
side effects on iobase.
regads,
dan carpenter
diff --git a/drivers/staging/vt6655/mac.h b/drivers/staging/vt6655/mac.h
index 5747de436911..129a6602f6f0 100644
--- a/drivers/staging/vt6655/mac.h
+++ b/drivers/staging/vt6655/mac.h
@@ -537,16 +537,6 @@
/*--------------------- Export Macros ------------------------------*/
-#define MACvReceive1(iobase) \
-do { \
- 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); \
-} while (0)
-
#define MACvTransmit0(iobase) \
do { \
unsigned long reg_value; \
I was asking in kernelnewbies what to do with multi line macros as
checkpatch.pl warnings cannot be totally avoided.
Greg replied to make functions out of them.
Please find the full email under:
https://www.mail-archive.com/kernelnewbies@xxxxxxxxxxxxxxxxx/msg22042.html
In this case I really like the static function solution much more than
the macros.
Thanks for your support.