Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: completely remove apple mightymouse from blacklist HID: support larger reports than 64 bytes in hiddev HID: local function should be static HID: ignore Philips IEEE802.15.4 RF Dongle HID: ignore all recent SoundGraph iMON devices HID: fix memory leak on error patch in debug code HID: fix overrun in quirks initialization HID: Drop NULL test on list_entry result HID: driver for Twinhan USB 6253:0100 remote control HID: adding __init/__exit macros to module init/exit functions HID: add rumble support for Thrustmaster Dual Trigger 3-in-1 HID: ntrig tool separation and pen usages HID: Avoid double spin_lock_init on usbhid->lock HID: add force feedback support for Logitech WingMan Formula Force GP HID: Support new variants of Samsung USB IR receiver (0419:0001) HID: fix memory leak on error path in debug code HID: fix debugfs build with !CONFIG_DEBUG_FS HID: use debugfs for events/reports dumping HID: use debugfs for report dumping descriptor
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
#define __HID_DEBUG_H
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Jiri Kosina
|
||||
* Copyright (c) 2007-2009 Jiri Kosina
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -22,24 +22,44 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_HID_DEBUG
|
||||
#define HID_DEBUG_BUFSIZE 512
|
||||
|
||||
void hid_dump_input(struct hid_usage *, __s32);
|
||||
void hid_dump_device(struct hid_device *);
|
||||
void hid_dump_field(struct hid_field *, int);
|
||||
void hid_resolv_usage(unsigned);
|
||||
void hid_resolv_event(__u8, __u16);
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
|
||||
void hid_dump_input(struct hid_device *, struct hid_usage *, __s32);
|
||||
void hid_dump_device(struct hid_device *, struct seq_file *);
|
||||
void hid_dump_field(struct hid_field *, int, struct seq_file *);
|
||||
char *hid_resolv_usage(unsigned, struct seq_file *);
|
||||
void hid_debug_register(struct hid_device *, const char *);
|
||||
void hid_debug_unregister(struct hid_device *);
|
||||
void hid_debug_init(void);
|
||||
void hid_debug_exit(void);
|
||||
void hid_debug_event(struct hid_device *, char *);
|
||||
|
||||
|
||||
struct hid_debug_list {
|
||||
char *hid_debug_buf;
|
||||
int head;
|
||||
int tail;
|
||||
struct fasync_struct *fasync;
|
||||
struct hid_device *hdev;
|
||||
struct list_head node;
|
||||
struct mutex read_mutex;
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
#define hid_dump_input(a,b) do { } while (0)
|
||||
#define hid_dump_device(c) do { } while (0)
|
||||
#define hid_dump_field(a,b) do { } while (0)
|
||||
#define hid_resolv_usage(a) do { } while (0)
|
||||
#define hid_resolv_event(a,b) do { } while (0)
|
||||
|
||||
#endif /* CONFIG_HID_DEBUG */
|
||||
|
||||
#define hid_dump_input(a,b,c) do { } while (0)
|
||||
#define hid_dump_device(a,b) do { } while (0)
|
||||
#define hid_dump_field(a,b,c) do { } while (0)
|
||||
#define hid_resolv_usage(a,b) do { } while (0)
|
||||
#define hid_debug_register(a, b) do { } while (0)
|
||||
#define hid_debug_unregister(a) do { } while (0)
|
||||
#define hid_debug_init() do { } while (0)
|
||||
#define hid_debug_exit() do { } while (0)
|
||||
#define hid_debug_event(a,b) do { } while (0)
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -500,6 +500,14 @@ struct hid_device { /* device report descriptor */
|
||||
|
||||
/* handler for raw output data, used by hidraw */
|
||||
int (*hid_output_raw_report) (struct hid_device *, __u8 *, size_t);
|
||||
|
||||
/* debugging support via debugfs */
|
||||
unsigned short debug;
|
||||
struct dentry *debug_dir;
|
||||
struct dentry *debug_rdesc;
|
||||
struct dentry *debug_events;
|
||||
struct list_head debug_list;
|
||||
wait_queue_head_t debug_wait;
|
||||
};
|
||||
|
||||
static inline void *hid_get_drvdata(struct hid_device *hdev)
|
||||
@@ -657,9 +665,7 @@ struct hid_ll_driver {
|
||||
|
||||
/* HID core API */
|
||||
|
||||
#ifdef CONFIG_HID_DEBUG
|
||||
extern int hid_debug;
|
||||
#endif
|
||||
|
||||
extern int hid_add_device(struct hid_device *);
|
||||
extern void hid_destroy_device(struct hid_device *);
|
||||
@@ -815,21 +821,9 @@ int hid_pidff_init(struct hid_device *hid);
|
||||
#define hid_pidff_init NULL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_HID_DEBUG
|
||||
#define dbg_hid(format, arg...) if (hid_debug) \
|
||||
printk(KERN_DEBUG "%s: " format ,\
|
||||
__FILE__ , ## arg)
|
||||
#define dbg_hid_line(format, arg...) if (hid_debug) \
|
||||
printk(format, ## arg)
|
||||
#else
|
||||
static inline int __attribute__((format(printf, 1, 2)))
|
||||
dbg_hid(const char *fmt, ...)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#define dbg_hid_line dbg_hid
|
||||
#endif /* HID_DEBUG */
|
||||
|
||||
#define err_hid(format, arg...) printk(KERN_ERR "%s: " format "\n" , \
|
||||
__FILE__ , ## arg)
|
||||
#endif /* HID_FF */
|
||||
|
||||
Reference in New Issue
Block a user