Ubuntu-focal-kernel/Documentation
Jason Baron 346e15beb5 driver core: basic infrastructure for per-module dynamic debug messages
Base infrastructure to enable per-module debug messages.

I've introduced CONFIG_DYNAMIC_PRINTK_DEBUG, which when enabled centralizes
control of debugging statements on a per-module basis in one /proc file,
currently, <debugfs>/dynamic_printk/modules. When, CONFIG_DYNAMIC_PRINTK_DEBUG,
is not set, debugging statements can still be enabled as before, often by
defining 'DEBUG' for the proper compilation unit. Thus, this patch set has no
affect when CONFIG_DYNAMIC_PRINTK_DEBUG is not set.

The infrastructure currently ties into all pr_debug() and dev_dbg() calls. That
is, if CONFIG_DYNAMIC_PRINTK_DEBUG is set, all pr_debug() and dev_dbg() calls
can be dynamically enabled/disabled on a per-module basis.

Future plans include extending this functionality to subsystems, that define 
their own debug levels and flags.

Usage:

Dynamic debugging is controlled by the debugfs file, 
<debugfs>/dynamic_printk/modules. This file contains a list of the modules that
can be enabled. The format of the file is as follows:

	<module_name> <enabled=0/1>
		.
		.
		.

	<module_name> : Name of the module in which the debug call resides
	<enabled=0/1> : whether the messages are enabled or not

For example:

	snd_hda_intel enabled=0
	fixup enabled=1
	driver enabled=0

Enable a module:

	$echo "set enabled=1 <module_name>" > dynamic_printk/modules

Disable a module:

	$echo "set enabled=0 <module_name>" > dynamic_printk/modules

Enable all modules:

	$echo "set enabled=1 all" > dynamic_printk/modules

Disable all modules:

	$echo "set enabled=0 all" > dynamic_printk/modules

Finally, passing "dynamic_printk" at the command line enables
debugging for all modules. This mode can be turned off via the above
disable command.

[gkh: minor cleanups and tweaks to make the build work quietly]

Signed-off-by: Jason Baron <jbaron@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-10-16 09:24:47 -07:00
..
ABI regulator: Export regulator name via sysfs 2008-10-13 21:51:53 +01:00
DocBook
PCI
RCU
accounting
acpi
aoe
arm
auxdisplay
blackfin Blackfin arch: add supporting for kgdb 2008-10-13 14:07:19 +08:00
block
cdrom
connector
console
controllers
cpu-freq
cpuidle
cris
crypto
device-mapper
driver-model
dvb
early-userspace
fault-injection
fb
filesystems ocfs2: Documentation update for user_xattr / nouser_xattr mount options 2008-10-13 17:02:44 -07:00
firmware_class
frv
hwmon
i2c i2c: Restore i2c_smbus_process_call function 2008-10-14 17:30:06 +02:00
i2o
ia64
ide
infiniband
input
ioctl
isdn
ja_JP
kbuild
kdump
ko_KR
laptops ata: Add documentation for hard disk shock protection interface (v3) 2008-10-13 21:39:50 +02:00
lguest
m68k
make
mips
mn10300
namespaces
netlabel
networking
parisc
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-13 14:12:40 -07:00
power regulator: core - Rework machine API to remove string based functions. 2008-10-13 21:51:50 +01:00
powerpc powerpc: document the "fsl,ssi-dma-channel" compatible property 2008-10-13 11:10:00 -05:00
prctl
s390
scheduler
scsi
serial
sh
sound
sparc
spi
sysctl
telephony
thermal
timers
tracers
uml
usb
video4linux V4L/DVB (9186): Added support for Prof 7300 DVB-S/S2 cards 2008-10-13 12:41:21 -02:00
vm
w1
watchdog
x86
zh_CN
00-INDEX Merge branches 'oprofile-v2' and 'timers/hpet' into x86/core-v4 2008-10-13 14:18:42 +02:00
BUG-HUNTING
Changes
CodingStyle
DMA-API.txt
DMA-ISA-LPC.txt
DMA-attributes.txt
DMA-mapping.txt
HOWTO
IO-mapping.txt
IPMI.txt
IRQ-affinity.txt
IRQ.txt
Intel-IOMMU.txt
MSI-HOWTO.txt
Makefile
ManagementStyle
README.DAC960
README.cycladesZ
SAK.txt
SELinux.txt
SM501.txt
SecurityBugs
Smack.txt
SubmitChecklist
SubmittingDrivers
SubmittingPatches
VGA-softcursor.txt
applying-patches.txt
atomic_ops.txt
basic_profiling.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
cachetlb.txt
cciss.txt
cgroups.txt
computone.txt
cpqarray.txt
cpu-hotplug.txt
cpu-load.txt
cpusets.txt
cputopology.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt
digiepca.txt
dontdiff
edac.txt
eisa.txt
email-clients.txt
exception.txt
feature-removal-schedule.txt HID: add compat support 2008-10-14 23:50:50 +02:00
floppy.txt
ftrace.txt
gpio.txt
hayes-esp.txt
highuid.txt
hw_random.txt
initrd.txt
io_ordering.txt
ioctl-number.txt
iostats.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
kernel-parameters.txt driver core: basic infrastructure for per-module dynamic debug messages 2008-10-16 09:24:47 -07:00
keys-request-key.txt
keys.txt
kobject.txt
kprobes.txt
kref.txt
ldm.txt
leds-class.txt
local_ops.txt
lockdep-design.txt
lockstat.txt
logo.gif
logo.txt
magic-number.txt
markers.txt
mca.txt
md.txt
memory-barriers.txt
memory-hotplug.txt
memory.txt
mono.txt
moxa-smartio
mutex-design.txt
nbd.txt
nmi_watchdog.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt
paride.txt
parport-lowlevel.txt
parport.txt
pi-futex.txt
pnp.txt
preempt-locking.txt
prio_tree.txt
ramdisk.txt
rbtree.txt
rfkill.txt
riscom8.txt
robust-futex-ABI.txt
robust-futexes.txt
rocket.txt
rt-mutex-design.txt
rt-mutex.txt
rtc.txt
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
sparse.txt
specialix.txt
spinlocks.txt
stable_api_nonsense.txt
stable_kernel_rules.txt
stallion.txt
svga.txt
sx.txt
sysfs-rules.txt
sysrq.txt
tty.txt
unaligned-memory-access.txt
unicode.txt
unshare.txt
video-output.txt
volatile-considered-harmful.txt
voyager.txt
zorro.txt

README.cycladesZ

The Cyclades-Z must have firmware loaded onto the card before it will
operate.  This operation should be performed during system startup,

The firmware, loader program and the latest device driver code are
available from Cyclades at
    ftp://ftp.cyclades.com/pub/cyclades/cyclades-z/linux/