From mboxrd@z Thu Jan 1 00:00:00 1970 From: joe@perches.com (Joe Perches) Date: Sat, 17 Aug 2013 21:22:27 -0700 Subject: [PATCH v2 02/14] crypto: omap-aes: Add useful debug macros In-Reply-To: <1376793755-30478-3-git-send-email-joelf@ti.com> References: <1376793755-30478-1-git-send-email-joelf@ti.com> <1376793755-30478-3-git-send-email-joelf@ti.com> Message-ID: <1376799747.2027.11.camel@joe-AO722> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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); \ })