diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/hid-debug.h | 48 | ||||
-rw-r--r-- | include/linux/hid.h | 22 |
2 files changed, 42 insertions, 28 deletions
diff --git a/include/linux/hid-debug.h b/include/linux/hid-debug.h index 50d568ec178a..53744fa1c8b7 100644 --- a/include/linux/hid-debug.h +++ b/include/linux/hid-debug.h | |||
@@ -2,7 +2,7 @@ | |||
2 | #define __HID_DEBUG_H | 2 | #define __HID_DEBUG_H |
3 | 3 | ||
4 | /* | 4 | /* |
5 | * Copyright (c) 2007 Jiri Kosina | 5 | * Copyright (c) 2007-2009 Jiri Kosina |
6 | */ | 6 | */ |
7 | 7 | ||
8 | /* | 8 | /* |
@@ -22,24 +22,44 @@ | |||
22 | * | 22 | * |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #ifdef CONFIG_HID_DEBUG | 25 | #define HID_DEBUG_BUFSIZE 512 |
26 | 26 | ||
27 | void hid_dump_input(struct hid_usage *, __s32); | 27 | #ifdef CONFIG_DEBUG_FS |
28 | void hid_dump_device(struct hid_device *); | 28 | |
29 | void hid_dump_field(struct hid_field *, int); | 29 | void hid_dump_input(struct hid_device *, struct hid_usage *, __s32); |
30 | void hid_resolv_usage(unsigned); | 30 | void hid_dump_device(struct hid_device *, struct seq_file *); |
31 | void hid_resolv_event(__u8, __u16); | 31 | void hid_dump_field(struct hid_field *, int, struct seq_file *); |
32 | char *hid_resolv_usage(unsigned, struct seq_file *); | ||
33 | void hid_debug_register(struct hid_device *, const char *); | ||
34 | void hid_debug_unregister(struct hid_device *); | ||
35 | void hid_debug_init(void); | ||
36 | void hid_debug_exit(void); | ||
37 | void hid_debug_event(struct hid_device *, char *); | ||
32 | 38 | ||
33 | #else | ||
34 | 39 | ||
35 | #define hid_dump_input(a,b) do { } while (0) | 40 | struct hid_debug_list { |
36 | #define hid_dump_device(c) do { } while (0) | 41 | char *hid_debug_buf; |
37 | #define hid_dump_field(a,b) do { } while (0) | 42 | int head; |
38 | #define hid_resolv_usage(a) do { } while (0) | 43 | int tail; |
39 | #define hid_resolv_event(a,b) do { } while (0) | 44 | struct fasync_struct *fasync; |
45 | struct hid_device *hdev; | ||
46 | struct list_head node; | ||
47 | struct mutex read_mutex; | ||
48 | }; | ||
40 | 49 | ||
41 | #endif /* CONFIG_HID_DEBUG */ | 50 | #else |
42 | 51 | ||
52 | #define hid_dump_input(a,b,c) do { } while (0) | ||
53 | #define hid_dump_device(a,b) do { } while (0) | ||
54 | #define hid_dump_field(a,b,c) do { } while (0) | ||
55 | #define hid_resolv_usage(a,b) do { } while (0) | ||
56 | #define hid_debug_register(a, b) do { } while (0) | ||
57 | #define hid_debug_unregister(a) do { } while (0) | ||
58 | #define hid_debug_init() do { } while (0) | ||
59 | #define hid_debug_exit() do { } while (0) | ||
60 | #define hid_debug_event(a,b) do { } while (0) | ||
61 | |||
62 | #endif | ||
43 | 63 | ||
44 | #endif | 64 | #endif |
45 | 65 | ||
diff --git a/include/linux/hid.h b/include/linux/hid.h index 53489fd4d700..a0ebdace7baa 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h | |||
@@ -500,6 +500,14 @@ struct hid_device { /* device report descriptor */ | |||
500 | 500 | ||
501 | /* handler for raw output data, used by hidraw */ | 501 | /* handler for raw output data, used by hidraw */ |
502 | int (*hid_output_raw_report) (struct hid_device *, __u8 *, size_t); | 502 | int (*hid_output_raw_report) (struct hid_device *, __u8 *, size_t); |
503 | |||
504 | /* debugging support via debugfs */ | ||
505 | unsigned short debug; | ||
506 | struct dentry *debug_dir; | ||
507 | struct dentry *debug_rdesc; | ||
508 | struct dentry *debug_events; | ||
509 | struct list_head debug_list; | ||
510 | wait_queue_head_t debug_wait; | ||
503 | }; | 511 | }; |
504 | 512 | ||
505 | static inline void *hid_get_drvdata(struct hid_device *hdev) | 513 | static inline void *hid_get_drvdata(struct hid_device *hdev) |
@@ -657,9 +665,7 @@ struct hid_ll_driver { | |||
657 | 665 | ||
658 | /* HID core API */ | 666 | /* HID core API */ |
659 | 667 | ||
660 | #ifdef CONFIG_HID_DEBUG | ||
661 | extern int hid_debug; | 668 | extern int hid_debug; |
662 | #endif | ||
663 | 669 | ||
664 | extern int hid_add_device(struct hid_device *); | 670 | extern int hid_add_device(struct hid_device *); |
665 | extern void hid_destroy_device(struct hid_device *); | 671 | extern void hid_destroy_device(struct hid_device *); |
@@ -815,21 +821,9 @@ int hid_pidff_init(struct hid_device *hid); | |||
815 | #define hid_pidff_init NULL | 821 | #define hid_pidff_init NULL |
816 | #endif | 822 | #endif |
817 | 823 | ||
818 | #ifdef CONFIG_HID_DEBUG | ||
819 | #define dbg_hid(format, arg...) if (hid_debug) \ | 824 | #define dbg_hid(format, arg...) if (hid_debug) \ |
820 | printk(KERN_DEBUG "%s: " format ,\ | 825 | printk(KERN_DEBUG "%s: " format ,\ |
821 | __FILE__ , ## arg) | 826 | __FILE__ , ## arg) |
822 | #define dbg_hid_line(format, arg...) if (hid_debug) \ | ||
823 | printk(format, ## arg) | ||
824 | #else | ||
825 | static inline int __attribute__((format(printf, 1, 2))) | ||
826 | dbg_hid(const char *fmt, ...) | ||
827 | { | ||
828 | return 0; | ||
829 | } | ||
830 | #define dbg_hid_line dbg_hid | ||
831 | #endif /* HID_DEBUG */ | ||
832 | |||
833 | #define err_hid(format, arg...) printk(KERN_ERR "%s: " format "\n" , \ | 827 | #define err_hid(format, arg...) printk(KERN_ERR "%s: " format "\n" , \ |
834 | __FILE__ , ## arg) | 828 | __FILE__ , ## arg) |
835 | #endif /* HID_FF */ | 829 | #endif /* HID_FF */ |