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 */