public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 2.6.22-git] dev_vdbg(), available with -DVERBOSE_DEBUG
@ 2007-07-13  3:30 David Brownell
  2007-07-13  5:07 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: David Brownell @ 2007-07-13  3:30 UTC (permalink / raw)
  To: Linux Kernel list; +Cc: Greg KH, Andrew Morton, Alan Stern

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>
---
 drivers/usb/core/driver.c |    7 -------
 include/linux/device.h    |   10 ++++++++++
 2 files changed, 10 insertions(+), 7 deletions(-)

--- g26.orig/drivers/usb/core/driver.c	2007-07-12 20:09:34.000000000 -0700
+++ g26/drivers/usb/core/driver.c	2007-07-12 20:11:35.000000000 -0700
@@ -29,13 +29,6 @@
 #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
 
--- g26.orig/include/linux/device.h	2007-07-12 20:09:16.000000000 -0700
+++ g26/include/linux/device.h	2007-07-12 20:11:13.000000000 -0700
@@ -572,6 +572,16 @@ dev_dbg(struct device * dev, const char 
 }
 #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...)		\

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-07-13  7:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-13  3:30 [patch 2.6.22-git] dev_vdbg(), available with -DVERBOSE_DEBUG David Brownell
2007-07-13  5:07 ` Andrew Morton
2007-07-13  7:00   ` David Brownell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox