Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / usb / gadget / function / u_hid.h
1 /*
2  * u_hid.h
3  *
4  * Utility definitions for the hid function
5  *
6  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
7  *              http://www.samsung.com
8  *
9  * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License version 2 as
13  * published by the Free Software Foundation.
14  */
15
16 #ifndef U_HID_H
17 #define U_HID_H
18
19 #include <linux/usb/composite.h>
20
21 struct f_hid_opts {
22         struct usb_function_instance    func_inst;
23         int                             minor;
24         unsigned char                   subclass;
25         unsigned char                   protocol;
26         unsigned short                  report_length;
27         unsigned short                  report_desc_length;
28         unsigned char                   *report_desc;
29         bool                            report_desc_alloc;
30
31         /*
32          * Protect the data form concurrent access by read/write
33          * and create symlink/remove symlink.
34          */
35          struct mutex                   lock;
36          int                            refcnt;
37 };
38
39 int ghid_setup(struct usb_gadget *g, int count);
40 void ghid_cleanup(void);
41
42 #endif /* U_HID_H */