]> Git Repo - J-linux.git/blob - include/linux/hidraw.h
Merge tag 'riscv-for-linus-6.13-mw1' of git://git.kernel.org/pub/scm/linux/kernel...
[J-linux.git] / include / linux / hidraw.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  *  Copyright (c) 2007 Jiri Kosina
4  */
5 #ifndef _HIDRAW_H
6 #define _HIDRAW_H
7
8 #include <uapi/linux/hidraw.h>
9
10
11 struct hidraw {
12         unsigned int minor;
13         int exist;
14         int open;
15         wait_queue_head_t wait;
16         struct hid_device *hid;
17         struct device *dev;
18         spinlock_t list_lock;
19         struct list_head list;
20 };
21
22 struct hidraw_report {
23         __u8 *value;
24         int len;
25 };
26
27 struct hidraw_list {
28         struct hidraw_report buffer[HIDRAW_BUFFER_SIZE];
29         int head;
30         int tail;
31         struct fasync_struct *fasync;
32         struct hidraw *hidraw;
33         struct list_head node;
34         struct mutex read_mutex;
35         bool revoked;
36 };
37
38 #ifdef CONFIG_HIDRAW
39 int hidraw_init(void);
40 void hidraw_exit(void);
41 int hidraw_report_event(struct hid_device *, u8 *, int);
42 int hidraw_connect(struct hid_device *);
43 void hidraw_disconnect(struct hid_device *);
44 #else
45 static inline int hidraw_init(void) { return 0; }
46 static inline void hidraw_exit(void) { }
47 static inline int hidraw_report_event(struct hid_device *hid, u8 *data, int len) { return 0; }
48 static inline int hidraw_connect(struct hid_device *hid) { return -1; }
49 static inline void hidraw_disconnect(struct hid_device *hid) { }
50 #endif
51
52 #endif
This page took 0.028699 seconds and 4 git commands to generate.