[PATCH 1/5] printk: Add eliminated_printk macro

Joe Perches
2012-06-18T02:26:08Z

no_printk keeps gcc side-effects.
Add a mechanism to eliminate the side-effects.

Signed-off-by: Joe Perches <joe@perches.com>
---
include/linux/printk.h | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/include/linux/printk.h b/include/linux/printk.h
index 1bec2f7..84aa910 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -88,6 +88,16 @@ int no_printk(const char *fmt, ...)
return 0;
}

+/*
+ * Dummy printk for disabled printks maintaining
+ * gcc's format checking and eliminating side-effects
+ */
+#define eliminated_printk(fmt, ...) \
+do { \
+ if (0) \
+ printk(fmt, ##__VA_ARGS__); \
+} while (0)
+
extern asmlinkage __printf(1, 2)
void early_printk(const char *fmt, ...);

--
1.7.8.111.gad25c.dirty