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?