From 35ee07a4dffbfc40fffccd052d04040bd9f61d5d Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Mon, 28 Jun 2010 16:19:32 -0400 Subject: 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 --- include/linux/usb/composite.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h index aa8f08b21e24..f491e48b21e6 100644 --- a/include/linux/usb/composite.h +++ b/include/linux/usb/composite.h @@ -39,6 +39,7 @@ #include +struct usb_composite_dev; struct usb_configuration; /** @@ -143,6 +144,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 *); /** * ep_choose - select descriptor endpoint at current device speed @@ -356,6 +358,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; }; -- cgit v1.2.3