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>
This commit is contained in:
committed by
Colin Cross
parent
4a4414416d
commit
28acc1a88c
@@ -47,6 +47,7 @@
|
||||
*/
|
||||
#define USB_GADGET_DELAYED_STATUS 0x7fff /* Impossibly large value */
|
||||
|
||||
struct usb_composite_dev;
|
||||
struct usb_configuration;
|
||||
|
||||
/**
|
||||
@@ -151,6 +152,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
|
||||
@@ -372,6 +374,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;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user