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