aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/function/u_fs.h
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-02-04 14:03:20 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-02-04 14:03:20 -0500
commit4d4bac4499e9955521af80198063ef9c2f2bd634 (patch)
treeb02fb1f3d343d3a4a9864be18eec04e10f43d410 /drivers/usb/gadget/function/u_fs.h
parent7fa40910e0bf5ef32eca49595d950cb24f6402bf (diff)
parent9298b4aad37e8c6962edcdbd0b62620adb207d03 (diff)
Merge tag 'usb-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
Felipe writes: usb: patches for v3.20 merge window Here's the big pull request for Gadgets and PHYs. It's a total of 217 non-merge commits with pretty much everything being touched. The most important bits are a ton of new documentation for almost all usb gadget functions, a new isp1760 UDC driver, several improvements to the old net2280 UDC driver, and some minor tracepoint improvements to dwc3. Other than that, a big list of minor cleanups, smaller bugfixes and new features all over the place. Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/gadget/function/u_fs.h')
-rw-r--r--drivers/usb/gadget/function/u_fs.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/usb/gadget/function/u_fs.h b/drivers/usb/gadget/function/u_fs.h
index cd128e31f808..60139854e0b1 100644
--- a/drivers/usb/gadget/function/u_fs.h
+++ b/drivers/usb/gadget/function/u_fs.h
@@ -19,6 +19,7 @@
19#include <linux/usb/composite.h> 19#include <linux/usb/composite.h>
20#include <linux/list.h> 20#include <linux/list.h>
21#include <linux/mutex.h> 21#include <linux/mutex.h>
22#include <linux/workqueue.h>
22 23
23#ifdef VERBOSE_DEBUG 24#ifdef VERBOSE_DEBUG
24#ifndef pr_vdebug 25#ifndef pr_vdebug
@@ -93,6 +94,26 @@ enum ffs_state {
93 FFS_ACTIVE, 94 FFS_ACTIVE,
94 95
95 /* 96 /*
97 * Function is visible to host, but it's not functional. All
98 * setup requests are stalled and transfers on another endpoints
99 * are refused. All epfiles, except ep0, are deleted so there
100 * is no way to perform any operations on them.
101 *
102 * This state is set after closing all functionfs files, when
103 * mount parameter "no_disconnect=1" has been set. Function will
104 * remain in deactivated state until filesystem is umounted or
105 * ep0 is opened again. In the second case functionfs state will
106 * be reset, and it will be ready for descriptors and strings
107 * writing.
108 *
109 * This is useful only when functionfs is composed to gadget
110 * with another function which can perform some critical
111 * operations, and it's strongly desired to have this operations
112 * completed, even after functionfs files closure.
113 */
114 FFS_DEACTIVATED,
115
116 /*
96 * All endpoints have been closed. This state is also set if 117 * All endpoints have been closed. This state is also set if
97 * we encounter an unrecoverable error. The only 118 * we encounter an unrecoverable error. The only
98 * unrecoverable error is situation when after reading strings 119 * unrecoverable error is situation when after reading strings
@@ -251,6 +272,10 @@ struct ffs_data {
251 kgid_t gid; 272 kgid_t gid;
252 } file_perms; 273 } file_perms;
253 274
275 struct eventfd_ctx *ffs_eventfd;
276 bool no_disconnect;
277 struct work_struct reset_work;
278
254 /* 279 /*
255 * The endpoint files, filled by ffs_epfiles_create(), 280 * The endpoint files, filled by ffs_epfiles_create(),
256 * destroyed by ffs_epfiles_destroy(). 281 * destroyed by ffs_epfiles_destroy().