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);                             \
})


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to