On Sat, 2013-08-17 at 21:42 -0500, Joel Fernandes wrote:
When DEBUG is enabled, these macros can be used to print variables in integer
and hex format, and clearly display which registers, offsets and values are
being read/written , including printing the names of the offsets and their values.
Note:
This patch results in a checkpatch error that cannot be fixed.
ERROR: Macros with multiple statements should be enclosed in a do - while loop
+#define omap_aes_read(dd, offset) \
+ __raw_readl(dd->io_base + offset); \
+ pr_debug("omap_aes_read(" #offset ")\n");
Using do-while loop will break a lot of code such as:
ret = omap_aes_read(..);
That's where you use a statement expression macro
#define omap_aes_read(dd, offset) \
({ \
pr_debug("omap_aes_read("omap_aes_read(" #offset ")\n"); \
__raw_readl((dd)->iobase + offset); \
})