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
18struct 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	u16				max_segment_size;
36};
37
38#endif /* U_NCM_H */
39