Linux-libre 5.4-rc7-gnu
[librecmc/linux-libre.git] / drivers / usb / gadget / function / u_ncm.h
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * u_ncm.h
4  *
5  * Utility definitions for the ncm function
6  *
7  * Copyright (c) 2013 Samsung Electronics Co., Ltd.
8  *              http://www.samsung.com
9  *
10  * Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
11  */
12
13 #ifndef U_NCM_H
14 #define U_NCM_H
15
16 #include <linux/usb/composite.h>
17
18 struct f_ncm_opts {
19         struct usb_function_instance    func_inst;
20         struct net_device               *net;
21         bool                            bound;
22
23         struct config_group             *ncm_interf_group;
24         struct usb_os_desc              ncm_os_desc;
25         char                            ncm_ext_compat_id[16];
26         /*
27          * Read/write access to configfs attributes is handled by configfs.
28          *
29          * This is to protect the data from concurrent access by read/write
30          * and create symlink/remove symlink.
31          */
32         struct mutex                    lock;
33         int                             refcnt;
34 };
35
36 #endif /* U_NCM_H */