aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb/gadget.h
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2014-09-08 20:56:48 -0400
committerFelipe Balbi <balbi@ti.com>2014-09-09 10:58:09 -0400
commitef979a26e3d521d51dbd9950e46a69e303073171 (patch)
treedb43d334740f1aa8efc162747f1bdc928690934b /include/linux/usb/gadget.h
parent85b06f5e53d17c15844ef3cd45d0c7107f0ae45c (diff)
usb: gadget: add reset API at usb_gadget_driver
Adding reset API for UDC bus reset handler is useful for below two issues. Current disconnect API at usb_gadget_driver is also invoked at udc's bus reset handler, but the document says it is invoked when the host is disconnected. Besides, we may expect the gadget_driver to do different things for host sends bus reset and host disconnects gadget, eg, we may not want to flush dirty page for mass storage at bus reset, and want to do it at disconnection. Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'include/linux/usb/gadget.h')
-rw-r--r--include/linux/usb/gadget.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index c540557b564b..598a6e9b2850 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -817,6 +817,8 @@ static inline int usb_gadget_disconnect(struct usb_gadget *gadget)
817 * Called in a context that permits sleeping. 817 * Called in a context that permits sleeping.
818 * @suspend: Invoked on USB suspend. May be called in_interrupt. 818 * @suspend: Invoked on USB suspend. May be called in_interrupt.
819 * @resume: Invoked on USB resume. May be called in_interrupt. 819 * @resume: Invoked on USB resume. May be called in_interrupt.
820 * @reset: Invoked on USB bus reset. It is mandatory for all gadget drivers
821 * and should be called in_interrupt.
820 * @driver: Driver model state for this driver. 822 * @driver: Driver model state for this driver.
821 * 823 *
822 * Devices are disabled till a gadget driver successfully bind()s, which 824 * Devices are disabled till a gadget driver successfully bind()s, which
@@ -874,6 +876,7 @@ struct usb_gadget_driver {
874 void (*disconnect)(struct usb_gadget *); 876 void (*disconnect)(struct usb_gadget *);
875 void (*suspend)(struct usb_gadget *); 877 void (*suspend)(struct usb_gadget *);
876 void (*resume)(struct usb_gadget *); 878 void (*resume)(struct usb_gadget *);
879 void (*reset)(struct usb_gadget *);
877 880
878 /* FIXME support safe rmmod */ 881 /* FIXME support safe rmmod */
879 struct device_driver driver; 882 struct device_driver driver;