Ive been unable to figure out why.
Any ideas ?
jimc@chumly:~/projects/lx/linux-2.6$ grep debug drivers/i2c/busses/scx200_*
drivers/i2c/busses/scx200_acb.c: pr_debug(NAME ": ACBCTL2 readback failed\n");
drivers/i2c/busses/scx200_acb.c: pr_debug(NAME ": disabled, but
ACBCTL1=0x%02x\n",
drivers/i2c/busses/scx200_acb.c: pr_debug(NAME ": enabled, but NMINTE
won't be set, "
drivers/i2c/busses/scx200_acb.c: pr_debug(NAME ": NatSemi SCx200
ACCESS.bus Driver\n");
drivers/i2c/busses/scx200_i2c.c: pr_debug(NAME ": NatSemi SCx200 I2C Driver\n");
drivers/i2c/busses/scx200_i2c.c: pr_debug(NAME ": SCL=GPIO%02u,
SDA=GPIO%02u\n", scl, sda);
jimc@chumly:~/projects/lx/build-skc$ for k in `find drivers -name
\*.ko`; do echo $k; readelf -S $k |grep __verbose; done
drivers/i2c/busses/i2c-stub.ko
drivers/i2c/busses/i2c-gpio.ko
drivers/i2c/busses/scx200_i2c.ko
drivers/i2c/busses/scx200_acb.ko
drivers/i2c/muxes/gpio-i2cmux.ko
drivers/i2c/i2c-mux.ko
drivers/i2c/i2c-dev.ko
[15] __verbose PROGBITS 00000000 0018c8 0000c0 00 WA 0 0 8
[16] .rel__verbose REL 00000000 0024cc 000100 08 23 15 4
drivers/i2c/i2c-core.ko
[24] __verbose PROGBITS 00000000 003e58 000198 00 WA 0 0 8
[25] .rel__verbose REL 00000000 0058c8 000220 08 32 24 4
drivers/gpio/nsc_gpio.ko
[18] __verbose PROGBITS 00000000 000850 000090 00 WA 0 0 8
[19] .rel__verbose REL 00000000 0011bc 0000c0 08 26 18 4
drivers/gpio/pcf857x.ko
[14] __verbose PROGBITS 00000000 000e80 000048 00 WA 0 0 8
[15] .rel__verbose REL 00000000 001710 000060 08 22 14 4
drivers/gpio/pc8736x_gpio.ko
[17] __verbose PROGBITS 00000000 001140 0000a8 00 WA 0 0 8
[18] .rel__verbose REL 00000000 001da0 0000e0 08 25 17 4
drivers/gpio/scx200_gpio.ko
drivers/bluetooth/bfusb.ko
[14] __verbose PROGBITS 00000000 002160 000198 00 WA 0 0 8
[15] .rel__verbose REL 00000000 003108 000220 08 22 14 4
drivers/bluetooth/btusb.ko
[16] __verbose PROGBITS 00000000 002ca8 0001c8 00 WA 0 0 8
[17] .rel__verbose REL 00000000 003e44 000260 08 24 16 4
drivers/bluetooth/bcm203x.ko
[15] __verbose PROGBITS 00000000 000f78 000078 00 WA 0 0 8
[16] .rel__verbose REL 00000000 001a04 0000a0 08 23 15 4
drivers/bluetooth/hci_uart.ko
[17] __verbose PROGBITS 00000000 004068 000510 00 WA 0 0 8
[18] .rel__verbose REL 00000000 0060a4 0006c0 08 25 17 4
drivers/bluetooth/bpa10x.ko
[14] __verbose PROGBITS 00000000 0014f0 000120 00 WA 0 0 8
[15] .rel__verbose REL 00000000 002130 000180 08 22 14 4
drivers/connector/cn.ko
drivers/cpufreq/cpufreq_userspace.ko
[16] __verbose PROGBITS 00000000 0008b8 000078 00 WA 0 0 8
[17] .rel__verbose REL 00000000 001258 0000a0 08 24 16 4
drivers/cpufreq/gx-suspmod.ko
[16] __verbose PROGBITS 00000000 000f80 0000d8 00 WA 0 0 8
[17] .rel__verbose REL 00000000 001ae8 000120 08 25 16 4
drivers/cpufreq/cpufreq_ondemand.ko
drivers/cpufreq/cpufreq_performance.ko
[14] __verbose PROGBITS 00000000 000388 000018 00 WA 0 0 8
[15] .rel__verbose REL 00000000 000a30 000020 08 22 14 4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
hmmm...I see drivers/i2c/busses/Makefile has:
ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG
Any chance CONFIG_I2C_DEBUG_BUS is set?
Thanks,
-Jason
-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?
cool idea. I like it.
-Jason
You've got a bunch of patches ready to
be pulled/queued, so I think you should
do it.
cheers, Joe
Thanks Joe,
Ive just added this. It works nicely, with one trivial change
to add MODNAME, imitating the common non-dynamic-debug usage:
#if defined DEBUG
#define _DPRINTK_FLAGS_DEFAULT _DPRINTK_FLAGS_PRINT |
_DPRINTK_FLAGS_INCL_MODNAME
Ive tested the changes on scx200_acb, and changed
the printks therein to corresponding pr_<foo>
As I said, it works nicely.
Ive added these 2 patches to my series, which I'll be posting shortly.
In the meantime, its available at:
git://github.com/jimc/linux-2.6.git
in branch dyndbg-v4
Right now, I think you should _not_
add DPRINTK_FLAGS_INCL_MODNAME to the
DEBUG DPRINTK_FLAGS_DEFAULT nor should
INCL_MODNAME be added to any default output
style.
Look for things like:
pr_debug(PFX "foo...");
and
pr_debug("some_prefix: foo...");
For instance:
$ grep -rP --include=*.[ch] "pr_debug\s*\(\s*\"\w+:" *
There are just too many uses of pr_debug where
defaulting KBUILD_MODNAME on will just cause some
unnecessary duplication of output.
Maybe do this in a year or two when more of
the current printks are sifted.