these two methods will be used to tell controller driver to prepare for starting/stopping operation with a gadget driver. They will be implemented and used by the new usb udc class which will come in later patches. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> --- include/linux/usb/gadget.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h index e538172..34d47f5 100644 --- a/include/linux/usb/gadget.h +++ b/include/linux/usb/gadget.h @@ -417,6 +417,8 @@ static inline void usb_ep_fifo_flush(struct usb_ep *ep) /*-------------------------------------------------------------------------*/ struct usb_gadget; +struct usb_gadget_driver; +typedef int (*usb_gad_bind_t)(struct usb_gadget *gadget); /* the rest of the api to the controller hardware: device operations, * which don't involve endpoints (or i/o). @@ -430,6 +432,8 @@ struct usb_gadget_ops { int (*pullup) (struct usb_gadget *, int is_on); int (*ioctl)(struct usb_gadget *, unsigned code, unsigned long param); + int (*start)(struct usb_gadget *, struct usb_gadget_driver *); + int (*stop)(struct usb_gadget *, struct usb_gadget_driver *); }; /** @@ -769,6 +773,7 @@ static inline int usb_gadget_disconnect(struct usb_gadget *gadget) struct usb_gadget_driver { char *function; enum usb_device_speed speed; + usb_gad_bind_t bind; void (*unbind)(struct usb_gadget *); int (*setup)(struct usb_gadget *, const struct usb_ctrlrequest *); -- 1.7.4.1.343.ga91df -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html