summaryrefslogtreecommitdiff
path: root/include/linux/usb
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2010-06-28 16:19:32 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:38:07 -0800
commitb004b615d0baddd762d9a9a8f953b95be8e87399 (patch)
tree6563161c304552e7f50cd030e1da8e1b2618d094 /include/linux/usb
parent85811d6870f5e6de928a26906acabe7d9127febf (diff)
USB: composite: Add usb_composite_force_reset utility to force enumeration
Use this rather than calling usb_gadget_disconnect and usb_gadget_connect directly to avoid sending USB disconnect events to userspace when resetting the bus. Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'include/linux/usb')
-rw-r--r--include/linux/usb/composite.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h
index 9405ea22f566..32a84bcecd3d 100644
--- a/include/linux/usb/composite.h
+++ b/include/linux/usb/composite.h
@@ -47,6 +47,7 @@
*/
#define USB_GADGET_DELAYED_STATUS 0x7fff /* Impossibly large value */
+struct usb_composite_dev;
struct usb_configuration;
/**
@@ -164,6 +165,7 @@ int usb_function_activate(struct usb_function *);
int usb_interface_id(struct usb_configuration *, struct usb_function *);
void usb_function_set_enabled(struct usb_function *, int);
+void usb_composite_force_reset(struct usb_composite_dev *);
int config_ep_by_speed(struct usb_gadget *g, struct usb_function *f,
struct usb_ep *_ep);
@@ -376,6 +378,8 @@ struct usb_composite_dev {
spinlock_t lock;
struct switch_dev sdev;
+ /* used by usb_composite_force_reset to avoid signalling switch changes */
+ bool mute_switch;
struct work_struct switch_work;
};