xref: /linux/drivers/usb/gadget/function/u_ecm.h (revision 5fd54ace4721fc5ce2bb5aef6318fcf17f421460)
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * u_ecm.h
4  *
5  * Utility definitions for the ecm function
6  *
7  * Copyright (c) 2013 Samsung Electronics Co., Ltd.
8  *		http://www.samsung.com
9  *
10  * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License version 2 as
14  * published by the Free Software Foundation.
15  */
16 
17 #ifndef U_ECM_H
18 #define U_ECM_H
19 
20 #include <linux/usb/composite.h>
21 
22 struct f_ecm_opts {
23 	struct usb_function_instance	func_inst;
24 	struct net_device		*net;
25 	bool				bound;
26 
27 	/*
28 	 * Read/write access to configfs attributes is handled by configfs.
29 	 *
30 	 * This is to protect the data from concurrent access by read/write
31 	 * and create symlink/remove symlink.
32 	 */
33 	struct mutex			lock;
34 	int				refcnt;
35 };
36 
37 #endif /* U_ECM_H */
38