]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/usb/gadget/function/u_hid.h
usb: gadget: Change Andrzej Pietrasiewicz's e-mail address
[linux.git] / drivers / usb / gadget / function / u_hid.h
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * u_hid.h
4  *
5  * Utility definitions for the hid function
6  *
7  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
8  *              http://www.samsung.com
9  *
10  * Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
11  */
12
13 #ifndef U_HID_H
14 #define U_HID_H
15
16 #include <linux/usb/composite.h>
17
18 struct f_hid_opts {
19         struct usb_function_instance    func_inst;
20         int                             minor;
21         unsigned char                   subclass;
22         unsigned char                   protocol;
23         unsigned short                  report_length;
24         unsigned short                  report_desc_length;
25         unsigned char                   *report_desc;
26         bool                            report_desc_alloc;
27
28         /*
29          * Protect the data form concurrent access by read/write
30          * and create symlink/remove symlink.
31          */
32          struct mutex                   lock;
33          int                            refcnt;
34 };
35
36 int ghid_setup(struct usb_gadget *g, int count);
37 void ghid_cleanup(void);
38
39 #endif /* U_HID_H */