xref: /openbmc/linux/include/linux/hid-debug.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*1a59d1b8SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2c080d89aSJiri Kosina #ifndef __HID_DEBUG_H
3c080d89aSJiri Kosina #define __HID_DEBUG_H
4c080d89aSJiri Kosina 
5dde5845aSJiri Kosina /*
6a635f9ddSJiri Kosina  *  Copyright (c) 2007-2009	Jiri Kosina
7dde5845aSJiri Kosina  */
8dde5845aSJiri Kosina 
9dde5845aSJiri Kosina /*
10dde5845aSJiri Kosina  */
11dde5845aSJiri Kosina 
12a635f9ddSJiri Kosina #ifdef CONFIG_DEBUG_FS
13dde5845aSJiri Kosina 
1413054abbSVladis Dronov #include <linux/kfifo.h>
1513054abbSVladis Dronov 
16a5f04b9dSBenjamin Tissoires #define HID_DEBUG_BUFSIZE 512
1713054abbSVladis Dronov #define HID_DEBUG_FIFOSIZE 512
18a5f04b9dSBenjamin Tissoires 
19cd667ce2SJiri Kosina void hid_dump_input(struct hid_device *, struct hid_usage *, __s32);
20a5f04b9dSBenjamin Tissoires void hid_dump_report(struct hid_device *, int , u8 *, int);
21a635f9ddSJiri Kosina void hid_dump_device(struct hid_device *, struct seq_file *);
22a635f9ddSJiri Kosina void hid_dump_field(struct hid_field *, int, struct seq_file *);
23cd667ce2SJiri Kosina char *hid_resolv_usage(unsigned, struct seq_file *);
24a635f9ddSJiri Kosina void hid_debug_register(struct hid_device *, const char *);
25a635f9ddSJiri Kosina void hid_debug_unregister(struct hid_device *);
26a635f9ddSJiri Kosina void hid_debug_init(void);
27a635f9ddSJiri Kosina void hid_debug_exit(void);
28cd667ce2SJiri Kosina void hid_debug_event(struct hid_device *, char *);
29cd667ce2SJiri Kosina 
30cd667ce2SJiri Kosina struct hid_debug_list {
3113054abbSVladis Dronov 	DECLARE_KFIFO_PTR(hid_debug_fifo, char);
32cd667ce2SJiri Kosina 	struct fasync_struct *fasync;
33cd667ce2SJiri Kosina 	struct hid_device *hdev;
34cd667ce2SJiri Kosina 	struct list_head node;
35cd667ce2SJiri Kosina 	struct mutex read_mutex;
36cd667ce2SJiri Kosina };
37dde5845aSJiri Kosina 
38c080d89aSJiri Kosina #else
39dde5845aSJiri Kosina 
4038b7f49aSJiri Kosina #define hid_dump_input(a,b,c)		do { } while (0)
41a5f04b9dSBenjamin Tissoires #define hid_dump_report(a,b,c,d)	do { } while (0)
4238b7f49aSJiri Kosina #define hid_dump_device(a,b)		do { } while (0)
4338b7f49aSJiri Kosina #define hid_dump_field(a,b,c)		do { } while (0)
4438b7f49aSJiri Kosina #define hid_resolv_usage(a,b)		do { } while (0)
45a635f9ddSJiri Kosina #define hid_debug_register(a, b)	do { } while (0)
46a635f9ddSJiri Kosina #define hid_debug_unregister(a)		do { } while (0)
47a635f9ddSJiri Kosina #define hid_debug_init()		do { } while (0)
48a635f9ddSJiri Kosina #define hid_debug_exit()		do { } while (0)
49cd667ce2SJiri Kosina #define hid_debug_event(a,b)		do { } while (0)
50dde5845aSJiri Kosina 
51a635f9ddSJiri Kosina #endif
52dde5845aSJiri Kosina 
53c080d89aSJiri Kosina #endif
54