summaryrefslogtreecommitdiff
path: root/include/linux/usb/composite.h
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2010-02-06 21:53:51 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:38:00 -0800
commitc9ca3a71cacaabc6a5707d4c72749b4722a7271e (patch)
treeee1a0c93e1bafa6c820e2c8df4eb082234be3cae /include/linux/usb/composite.h
parent49ca5ebb76dd400b1b911da2c67070129647054e (diff)
USB: composite: Add class driver for enabling and disabling USB functions.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'include/linux/usb/composite.h')
-rw-r--r--include/linux/usb/composite.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h
index b3da4ef92782..9bb851fb5a0e 100644
--- a/include/linux/usb/composite.h
+++ b/include/linux/usb/composite.h
@@ -150,6 +150,7 @@ struct usb_function {
/* internals */
struct list_head list;
DECLARE_BITMAP(endpoints, 32);
+ struct device *dev;
};
int usb_add_function(struct usb_configuration *, struct usb_function *);
@@ -286,6 +287,9 @@ struct usb_composite_driver {
enum usb_device_speed max_speed;
unsigned needs_serial:1;
+ struct class *class;
+ atomic_t function_count;
+
int (*unbind)(struct usb_composite_dev *);
void (*disconnect)(struct usb_composite_dev *);
@@ -293,6 +297,8 @@ struct usb_composite_driver {
/* global suspend hooks */
void (*suspend)(struct usb_composite_dev *);
void (*resume)(struct usb_composite_dev *);
+
+ void (*enable_function)(struct usb_function *f, int enable);
};
extern int usb_composite_probe(struct usb_composite_driver *driver,