Re: [PATCH] iommu: replace single-char identifiers in macros

From: Robin Murphy
Date: Mon Jun 03 2019 - 09:51:53 EST


On 03/06/2019 14:29, Qian Cai wrote:
On Mon, 2019-06-03 at 14:07 +0100, Robin Murphy wrote:
On 03/06/2019 13:59, Qian Cai wrote:
There are a few macros in IOMMU have single-char identifiers make the
code hard to read and debug. Replace them with meaningful names.

Suggested-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Qian Cai <cai@xxxxxx>
---
 include/linux/dmar.h | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/include/linux/dmar.h b/include/linux/dmar.h
index f8af1d770520..eb634912f475 100644
--- a/include/linux/dmar.h
+++ b/include/linux/dmar.h
@@ -104,12 +104,14 @@ static inline bool dmar_rcu_check(void)
 #define dmar_rcu_dereference(p) rcu_dereference_check((p),
dmar_rcu_check())
-#define for_each_dev_scope(a, c, p, d) \
- for ((p) = 0; ((d) = (p) < (c) ? dmar_rcu_dereference((a)[(p)].dev)
: \
- NULL, (p) < (c)); (p)++)
-
-#define for_each_active_dev_scope(a, c, p, d) \
- for_each_dev_scope((a), (c), (p), (d)) if (!(d)) { continue;
} else
+#define for_each_dev_scope(devs, cnt, i, tmp)
\
+ for ((i) = 0; ((tmp) = (i) < (cnt) ?
\

Given that "tmp" actually appears to be some sort of device cursor, I'm
not sure that that naming really achieves the stated goal of clarity :/

"tmp" is used in the callers everywhere though, although I suppose something
like "tmp_dev" can be used if you prefer.

I don't have any preference, I'm just questioning the assertion in the commit message - as a reader not intimately familiar with this code, "tmp" is honestly no more meaningful than "d" was.

Robin.