On Tue, May 10, 2011 at 11:20, Niels de Vos <ndevos@xxxxxxxxxx> wrote: > When DBG() is used in a simple if-else, the resulting code path > currently depends on the definition of DBG(). Inserting the statement in > a "do { ... } while (0)" prevents this possible misuse. > > Signed-off-by: Niels de Vos <ndevos@xxxxxxxxxx> > --- a/drivers/video/omap2/omapfb/omapfb.h > +++ b/drivers/video/omap2/omapfb/omapfb.h > @@ -34,8 +34,10 @@ > Â#ifdef DEBUG > Âextern unsigned int omapfb_debug; > Â#define DBG(format, ...) \ > - Â Â Â if (omapfb_debug) \ > - Â Â Â Â Â Â Â printk(KERN_DEBUG "OMAPFB: " format, ## __VA_ARGS__) > + Â Â Â do { \ > + Â Â Â Â Â Â Â if (omapfb_debug) \ > + Â Â Â Â Â Â Â Â Â Â Â printk(KERN_DEBUG "OMAPFB: " format, ## __VA_ARGS__); \ > + Â Â Â while (0) Where's the closing '}'? > Â#else > Â#define DBG(format, ...) BTW, no printf()-style format checking here. > Â#endif What about using the standard pr_debug()/dev_dbg() instead? With dynamic debug, it can be enabled at run time. As a bonus, you get printf()-style format checking if debugging is disabled. Gr{oetje,eeting}s, Â Â Â Â Â Â Â Â Â Â Â Â Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. Â Â Â Â Â Â Â Â Â Â Â Â Â ÂÂ ÂÂ -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html