#define MB(_mb) (_AC(_mb, UL) << 20)
#define GB(_gb) (_AC(_gb, UL) << 30)
-#ifndef __ASSEMBLY__
-
-#define dprintk(_l, _f, _a...) \
- printk(_l "%s:%d: " _f, __FILE__ , __LINE__ , ## _a )
-#define gdprintk(_l, _f, _a...) \
- printk(XENLOG_GUEST _l "%s:%d:%pv " _f, __FILE__, \
- __LINE__, current, ## _a )
-
-#endif /* !__ASSEMBLY__ */
-
#define __STR(...) #__VA_ARGS__
#define STR(...) __STR(__VA_ARGS__)
#define gprintk(lvl, fmt, args...) \
printk(XENLOG_GUEST lvl "%pv " fmt, current, ## args)
+#ifdef NDEBUG
+
+static inline void
+__attribute__ ((__format__ (__printf__, 2, 3)))
+dprintk(const char *lvl, const char *fmt, ...) {}
+
+static inline void
+__attribute__ ((__format__ (__printf__, 2, 3)))
+gdprintk(const char *lvl, const char *fmt, ...) {}
+
+#else
+
+#define dprintk(lvl, fmt, args...) \
+ printk(lvl "%s:%d: " fmt, __FILE__, __LINE__, ## args)
+#define gdprintk(lvl, fmt, args...) \
+ printk(XENLOG_GUEST lvl "%s:%d:%pv " fmt, \
+ __FILE__, __LINE__, current, ## args)
+
+#endif
+
/* vsprintf.c */
#define sprintf __xen_has_no_sprintf__
#define vsprintf __xen_has_no_vsprintf__