linux/drivers
Jiri Kosina a635f9dd83 HID: use debugfs for report dumping descriptor
It is a little bit inconvenient for people who have some non-standard
HID hardware (usually violating the HID specification) to have to
recompile kernel with CONFIG_HID_DEBUG to be able to see kernel's perspective
of the HID report descriptor and observe the parsed events. Plus the messages
are then mixed up inconveniently with the rest of the dmesg stuff.

This patch implements /sys/kernel/debug/hid/<device>/rdesc file, which
represents the kernel's view of report descriptor (both the raw report
descriptor data and parsed contents).

With all the device-specific debug data being available through debugfs, there
is no need for keeping CONFIG_HID_DEBUG, as the 'debug' parameter to the
hid module will now only output only driver-specific debugging options, which has
absolutely minimal memory footprint, just a few error messages and one global
flag (hid_debug).

We use the current set of output formatting functions. The ones that need to be
used both for one-shot rdesc seq_file and also for continuous flow of data
(individual reports, as being sent by the device) distinguish according to the
passed seq_file parameter, and if it is NULL, it still output to kernel ringbuffer,
otherwise the corresponding seq_file is used for output.

The format of the output is preserved.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2009-06-12 15:20:55 +02:00
..
accessibility
acpi Merge branch 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-10 15:25:41 -07:00
amba
ata Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2009-06-11 11:23:17 -07:00
atm Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n) 2009-04-13 15:04:33 -07:00
auxdisplay
base Driver Core: do not oops when driver_unregister() is called for unregistered drivers 2009-05-28 14:24:07 -07:00
block floppy: fix hibernation 2009-06-10 23:07:16 +02:00
bluetooth tty: fix bluetooth scribbling on low latency flags 2009-06-11 08:51:05 -07:00
cdrom block: Use accessor functions for queue limits 2009-05-22 23:22:54 +02:00
char Merge branch 'for-linus' of git://linux-arm.org/linux-2.6 2009-06-11 14:15:57 -07:00
clocksource clocksource: sh_mtu2/cmt_register() should be static. 2009-05-03 18:05:42 +09:00
connector
cpufreq cpumask: alloc zeroed cpumask for static cpumask_var_ts 2009-06-09 22:30:27 +09:30
cpuidle
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2009-05-17 15:48:05 -07:00
dca
dio
dma Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2009-05-30 07:57:44 -07:00
edac EDAC: do not enable modules by default 2009-06-10 12:19:41 +02:00
eisa
firewire
firmware [libata] ahci: Restore SB600 SATA controller 64 bit DMA 2009-06-10 11:05:00 -04:00
gpio
gpu Revert "drm: don't associate _DRM_DRIVER maps with a master" 2009-06-05 10:21:52 -07:00
hid HID: use debugfs for report dumping descriptor 2009-06-12 15:20:55 +02:00
hwmon hwmon: (lm78) Add missing __devexit_p() 2009-06-01 13:46:49 +02:00
i2c Merge branch 'sh/clkfwk' 2009-05-26 23:50:40 +09:00
ide Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
idle i7300_idle: allow testing on i5000-series hardware w/o re-compile 2009-05-28 20:52:40 -04:00
ieee1394 fs: Remove i_cindex from struct inode 2009-06-11 21:36:09 -04:00
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2009-05-13 16:31:12 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-05-29 08:48:25 -07:00
isdn gigaset: beyond ARRAY_SIZE of iwb->data 2009-05-21 15:04:15 -07:00
leds leds: just ignore invalid GPIOs in leds-gpio 2009-04-08 14:13:48 +01:00
lguest lguest: fix on Intel when KVM loaded (unhandled trap 13) 2009-05-26 12:13:11 -07:00
macintosh Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2009-04-24 08:16:05 -07:00
mca
md Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
media ivtv: Fix PCI DMA direction 2009-06-05 08:05:23 -07:00
memstick block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
message block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
mfd mfd: pcf50633: fix unsafe disable_irq() 2009-05-19 22:22:28 +02:00
misc [SCSI] ses: fix problems caused by empty SES provided name 2009-05-15 12:20:57 -04:00
mmc Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
mtd Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
net r8169: fix crash when large packets are received 2009-06-09 04:01:02 -07:00
nubus
of
oprofile oprofile: fix cpu buffer size 2009-05-07 17:28:59 +02:00
parisc irq: change ->set_affinity() to return status 2009-04-28 12:21:16 +02:00
parport parport_pc: clean up the modified while loops using for 2009-06-11 08:51:03 -07:00
pci Merge branch 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-10 15:25:41 -07:00
pcmcia [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config 2009-04-23 23:25:40 +01:00
platform eeepc-laptop: unregister_rfkill_notifier on failure 2009-05-14 11:28:27 -04:00
pnp Merge branch 'linus' into irq/numa 2009-06-01 21:06:21 +02:00
power Merge git://git.infradead.org/battery-2.6 2009-04-08 17:45:02 -07:00
ps3
rapidio dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
regulator regulator: da903x: add missing __devexit_p() 2009-05-18 11:21:10 +01:00
rtc Merge branches 'sh/stable-updates' and 'sh/sparseirq' 2009-05-22 13:29:37 +09:00
s390 block: Do away with the notion of hardsect_size 2009-05-22 23:22:54 +02:00
sbus block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
scsi Merge branch 'for-2.6.31' of git://git.kernel.dk/linux-2.6-block 2009-06-11 11:10:35 -07:00
serial Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-06-11 10:08:33 -07:00
sh sh: Tie sparseirq in to Kconfig. 2009-06-11 10:33:09 +03:00
sn dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) 2009-04-07 08:31:10 -07:00
spi pxa2xx_spi: prevent panic case setup() fails 2009-05-12 14:11:34 -07:00
ssb SSB: BCM47xx: Export ssb_watchdog_timer_set 2009-06-08 16:57:50 +01:00
staging Staging: comedi: David doesn't want to get comedi patches 2009-05-08 19:39:28 -07:00
tc
telephony
thermal thermal: fix off-by-1 error in trip point trigger condition 2009-05-14 13:40:53 -04:00
uio UIO: fix specific device driver missing statement for depmod 2009-04-16 16:17:11 -07:00
usb Push BKL down into ->remount_fs() 2009-06-11 21:36:11 -04:00
uwb dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
video Merge branch 'topic/slab/earlyboot' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 2009-06-11 12:25:06 -07:00
virtio virtio: fix suspend when using virtio_balloon 2009-04-19 23:14:01 +09:30
w1
watchdog [ARM] 5460/1: Orion: reduce namespace pollution 2009-04-23 23:25:41 +01:00
xen Merge branch 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-10 16:16:27 -07:00
zorro
Kconfig
Makefile V4L/DVB (11561a): move media after i2c 2009-04-29 15:41:13 -03:00