Thread (8 messages) 8 messages, 3 authors, 2011-08-11

RFC: Use dynamic-debug with pr_debug when -DDEBUG is set

From: Joe Perches <hidden>
Date: 2011-08-11 00:01:41
Also in: lkml

On Wed, 2011-08-10 at 16:50 -0700, Joe Perches wrote:
On Wed, 2011-08-10 at 15:06 -0600, Jim Cromie wrote:
quoted
scx200_acb has several pr_debugs, but theyre not available via dynamic-debug
Ive been unable to figure out why.
Any ideas ?
-DDEBUG forces pr_debug to be output and doesn't
allow dynamic_debug for those outputs.
from drivers/i2c/busses/Makefile:
ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG
from printk.h:
/* If you are writing a driver, please use dev_dbg instead */
#if defined(DEBUG)
#define pr_debug(fmt, ...) \
	printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#elif defined(CONFIG_DYNAMIC_DEBUG)
/* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */
#define pr_debug(fmt, ...) \
	dynamic_pr_debug(fmt, ##__VA_ARGS__)
Perhaps another way to enable pr_debug use
is to reverse the order of dynamic_pr_debug
defines.

ie:  change printk.h:

#if defined(CONFIG_DYNAMIC_DEBUG)
/* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */
#define pr_debug(fmt, ...) \
	dynamic_pr_debug(fmt, ##__VA_ARGS__)
#elif defined(DEBUG)
#define pr_debug(fmt, ...) \
	printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)

and change dynamic_debug.h:

#define DPRINTK_FLAGS_DEFAULT 0

to:

#if defined DEBUG
#define DPRINTK_FLAGS_DEFAULT DPRINTK_FLAGS_PRINT
#else
#define DPRINT_FLAGS_DEFAULT 0
#endif

That seems pretty sensible to me.  Jason?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help