aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/hid-debug.h18
-rw-r--r--include/linux/hid.h26
2 files changed, 24 insertions, 20 deletions
diff --git a/include/linux/hid-debug.h b/include/linux/hid-debug.h
index 516e12c33235..ec08ac1ad687 100644
--- a/include/linux/hid-debug.h
+++ b/include/linux/hid-debug.h
@@ -24,14 +24,27 @@
24 24
25#ifdef CONFIG_DEBUG_FS 25#ifdef CONFIG_DEBUG_FS
26 26
27void hid_dump_input(struct hid_usage *, __s32); 27void hid_dump_input(struct hid_device *, struct hid_usage *, __s32);
28void hid_dump_device(struct hid_device *, struct seq_file *); 28void hid_dump_device(struct hid_device *, struct seq_file *);
29void hid_dump_field(struct hid_field *, int, struct seq_file *); 29void hid_dump_field(struct hid_field *, int, struct seq_file *);
30void hid_resolv_usage(unsigned, struct seq_file *); 30char *hid_resolv_usage(unsigned, struct seq_file *);
31void hid_debug_register(struct hid_device *, const char *); 31void hid_debug_register(struct hid_device *, const char *);
32void hid_debug_unregister(struct hid_device *); 32void hid_debug_unregister(struct hid_device *);
33void hid_debug_init(void); 33void hid_debug_init(void);
34void hid_debug_exit(void); 34void hid_debug_exit(void);
35void hid_debug_event(struct hid_device *, char *);
36
37#define HID_DEBUG_BUFSIZE 512
38
39struct hid_debug_list {
40 char *hid_debug_buf;
41 int head;
42 int tail;
43 struct fasync_struct *fasync;
44 struct hid_device *hdev;
45 struct list_head node;
46 struct mutex read_mutex;
47};
35 48
36#else 49#else
37 50
@@ -44,6 +57,7 @@ void hid_debug_exit(void);
44#define hid_debug_unregister(a) do { } while (0) 57#define hid_debug_unregister(a) do { } while (0)
45#define hid_debug_init() do { } while (0) 58#define hid_debug_init() do { } while (0)
46#define hid_debug_exit() do { } while (0) 59#define hid_debug_exit() do { } while (0)
60#define hid_debug_event(a,b) do { } while (0)
47 61
48#endif 62#endif
49 63
diff --git a/include/linux/hid.h b/include/linux/hid.h
index da09ab140ef1..60fa52913f89 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -451,10 +451,6 @@ struct hid_device { /* device report descriptor */
451 char phys[64]; /* Device physical location */ 451 char phys[64]; /* Device physical location */
452 char uniq[64]; /* Device unique identifier (serial #) */ 452 char uniq[64]; /* Device unique identifier (serial #) */
453 453
454 /* debugfs */
455 struct dentry *debug_dir;
456 struct dentry *debug_rdesc;
457
458 void *driver_data; 454 void *driver_data;
459 455
460 /* temporary hid_ff handling (until moved to the drivers) */ 456 /* temporary hid_ff handling (until moved to the drivers) */
@@ -468,6 +464,14 @@ struct hid_device { /* device report descriptor */
468 464
469 /* handler for raw output data, used by hidraw */ 465 /* handler for raw output data, used by hidraw */
470 int (*hid_output_raw_report) (struct hid_device *, __u8 *, size_t); 466 int (*hid_output_raw_report) (struct hid_device *, __u8 *, size_t);
467
468 /* debugging support via debugfs */
469 unsigned short debug;
470 struct dentry *debug_dir;
471 struct dentry *debug_rdesc;
472 struct dentry *debug_events;
473 struct list_head debug_list;
474 wait_queue_head_t debug_wait;
471}; 475};
472 476
473static inline void *hid_get_drvdata(struct hid_device *hdev) 477static inline void *hid_get_drvdata(struct hid_device *hdev)
@@ -625,9 +629,7 @@ struct hid_ll_driver {
625 629
626/* HID core API */ 630/* HID core API */
627 631
628#ifdef CONFIG_HID_DEBUG
629extern int hid_debug; 632extern int hid_debug;
630#endif
631 633
632extern int hid_add_device(struct hid_device *); 634extern int hid_add_device(struct hid_device *);
633extern void hid_destroy_device(struct hid_device *); 635extern void hid_destroy_device(struct hid_device *);
@@ -783,21 +785,9 @@ int hid_pidff_init(struct hid_device *hid);
783#define hid_pidff_init NULL 785#define hid_pidff_init NULL
784#endif 786#endif
785 787
786#ifdef CONFIG_HID_DEBUG
787#define dbg_hid(format, arg...) if (hid_debug) \ 788#define dbg_hid(format, arg...) if (hid_debug) \
788 printk(KERN_DEBUG "%s: " format ,\ 789 printk(KERN_DEBUG "%s: " format ,\
789 __FILE__ , ## arg) 790 __FILE__ , ## arg)
790#define dbg_hid_line(format, arg...) if (hid_debug) \
791 printk(format, ## arg)
792#else
793static inline int __attribute__((format(printf, 1, 2)))
794dbg_hid(const char *fmt, ...)
795{
796 return 0;
797}
798#define dbg_hid_line dbg_hid
799#endif /* HID_DEBUG */
800
801#define err_hid(format, arg...) printk(KERN_ERR "%s: " format "\n" , \ 791#define err_hid(format, arg...) printk(KERN_ERR "%s: " format "\n" , \
802 __FILE__ , ## arg) 792 __FILE__ , ## arg)
803#endif /* HID_FF */ 793#endif /* HID_FF */