On Thu, 2019-06-27 at 15:52 -0400, Qian Cai wrote: > On Wed, 2019-06-05 at 16:53 -0400, Qian Cai wrote: > > At the beginning of setup_64.c, it has, > > > > #ifdef DEBUG > > #define DBG(fmt...) udbg_printf(fmt) > > #else > > #define DBG(fmt...) > > #endif > > > > where DBG() could be compiled away, and generate warnings, > > > > arch/powerpc/kernel/setup_64.c: In function 'initialize_cache_info': > > arch/powerpc/kernel/setup_64.c:579:49: warning: suggest braces around > > empty body in an 'if' statement [-Wempty-body] > > DBG("Argh, can't find dcache properties !\n"); > > ^ > > arch/powerpc/kernel/setup_64.c:582:49: warning: suggest braces around > > empty body in an 'if' statement [-Wempty-body] > > DBG("Argh, can't find icache properties !\n"); [] > > diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c [] > > @@ -71,7 +71,7 @@ > > #ifdef DEBUG > > #define DBG(fmt...) udbg_printf(fmt) > > #else > > -#define DBG(fmt...) > > +#define DBG(fmt...) do { } while (0)
I suggest #define DBG(fmt...) do { if (0) udbg_printf(fmt); } while (0) so that format and argument are always verified by the compiler. I would also prefer a more generic form using ##__VA_ARGS__ #ifdef DEBUG #define DBG(fmt, ...) udbg_printf(fmt, ##__VA_ARGS__) #else #define DBG(fmt, ...) do { if (0) udbg_printf(fmt, ##__VA_ARGS__); } while (0) #endif or maybe use the no_printk macro like #ifdef DEBUG #define DBG(fmt, ...) udbg_printf(fmt, ##__VA_ARGS__) #else #define DBG(fmt, ...) no_printk(fmt, ##__VA_ARGS__) #endif