dev_vdbg(), available with -DVERBOSE_DEBUG
authorDavid Brownell <david-b@pacbell.net>
Fri, 13 Jul 2007 05:08:22 +0000 (22:08 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 18 Jul 2007 22:49:50 +0000 (15:49 -0700)
This defines a dev_vdbg() call, which is enabled with -DVERBOSE_DEBUG.
When enabled, dev_vdbg() acts just like dev_dbg().  When disabled, it is a
NOP ...  just like dev_dbg() without -DDEBUG.  The specific code was moved
out of a USB patch, but lots of drivers have similar support.

That is, code can now be written to use an additional level of debug
output, selected at compile time.  Many driver authors have found this
idiom to be very useful.  A typical usage model is for "normal" debug
messages to focus on fault paths and not be very "chatty", so that those
messages can be left on during normal operation without much of a
performance or syslog load.  On the other hand "verbose" messages would be
noisy enough that they wouldn't normally be enabled; they might even affect
timings enough to change system or driver behavior.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/driver.c
include/linux/device.h

index 73c49362cd47c7d593e815d7bd3f9f194d899ff3..654857493a82e35e0837e840e3942b46b43c1251 100644 (file)
 #include "hcd.h"
 #include "usb.h"
 
-#define VERBOSE_DEBUG  0
-
-#if VERBOSE_DEBUG
-#define dev_vdbg       dev_dbg
-#else
-#define dev_vdbg(dev, fmt, args...)    do { } while (0)
-#endif
 
 #ifdef CONFIG_HOTPLUG
 
index be2debed70d24d6c4558824be4cbb84ffd0d667d..d9f0a57f5a2f1f530e9e63c6f9e7ddb4f395f6c2 100644 (file)
@@ -572,6 +572,16 @@ dev_dbg(struct device * dev, const char * fmt, ...)
 }
 #endif
 
+#ifdef VERBOSE_DEBUG
+#define dev_vdbg       dev_dbg
+#else
+static inline int __attribute__ ((format (printf, 2, 3)))
+dev_vdbg(struct device * dev, const char * fmt, ...)
+{
+       return 0;
+}
+#endif
+
 #define dev_err(dev, format, arg...)           \
        dev_printk(KERN_ERR , dev , format , ## arg)
 #define dev_info(dev, format, arg...)          \