summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/u_fs.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/gadget/u_fs.h')
-rw-r--r--drivers/usb/gadget/u_fs.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/usb/gadget/u_fs.h b/drivers/usb/gadget/u_fs.h
index 5d9229a0156..2d00f9d296a 100644
--- a/drivers/usb/gadget/u_fs.h
+++ b/drivers/usb/gadget/u_fs.h
@@ -17,12 +17,36 @@
#define U_FFS_H
#include <linux/usb/composite.h>
+#include <linux/list.h>
+#include <linux/mutex.h>
struct ffs_dev {
const char *name;
bool mounted;
bool desc_ready;
+ bool single;
struct ffs_data *ffs_data;
+ struct list_head entry;
+
+ int (*ffs_ready_callback)(struct ffs_data *ffs);
+ void (*ffs_closed_callback)(struct ffs_data *ffs);
};
+extern struct mutex ffs_lock;
+
+static inline void ffs_dev_lock(void)
+{
+ mutex_lock(&ffs_lock);
+}
+
+static inline void ffs_dev_unlock(void)
+{
+ mutex_unlock(&ffs_lock);
+}
+
+struct ffs_dev *ffs_alloc_dev(void);
+int ffs_name_dev(struct ffs_dev *dev, const char *name);
+int ffs_single_dev(struct ffs_dev *dev);
+void ffs_free_dev(struct ffs_dev *dev);
+
#endif /* U_FFS_H */