|
|
@@ -174,8 +174,7 @@ EXPORT_SYMBOL_GPL(usb_gadget_udc_reset);
|
|
|
|
|
|
/**
|
|
|
* usb_gadget_udc_start - tells usb device controller to start up
|
|
|
- * @gadget: The gadget we want to get started
|
|
|
- * @driver: The driver we want to bind to @gadget
|
|
|
+ * @udc: The UDC to be started
|
|
|
*
|
|
|
* This call is issued by the UDC Class driver when it's about
|
|
|
* to register a gadget driver to the device controller, before
|
|
|
@@ -186,10 +185,9 @@ EXPORT_SYMBOL_GPL(usb_gadget_udc_reset);
|
|
|
*
|
|
|
* Returns zero on success, else negative errno.
|
|
|
*/
|
|
|
-static inline int usb_gadget_udc_start(struct usb_gadget *gadget,
|
|
|
- struct usb_gadget_driver *driver)
|
|
|
+static inline int usb_gadget_udc_start(struct usb_udc *udc)
|
|
|
{
|
|
|
- return gadget->ops->udc_start(gadget, driver);
|
|
|
+ return udc->gadget->ops->udc_start(udc->gadget, udc->driver);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -204,10 +202,9 @@ static inline int usb_gadget_udc_start(struct usb_gadget *gadget,
|
|
|
* far as powering off UDC completely and disable its data
|
|
|
* line pullups.
|
|
|
*/
|
|
|
-static inline void usb_gadget_udc_stop(struct usb_gadget *gadget,
|
|
|
- struct usb_gadget_driver *driver)
|
|
|
+static inline void usb_gadget_udc_stop(struct usb_udc *udc)
|
|
|
{
|
|
|
- gadget->ops->udc_stop(gadget, driver);
|
|
|
+ udc->gadget->ops->udc_stop(udc->gadget, udc->driver);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -335,7 +332,7 @@ static void usb_gadget_remove_driver(struct usb_udc *udc)
|
|
|
usb_gadget_disconnect(udc->gadget);
|
|
|
udc->driver->disconnect(udc->gadget);
|
|
|
udc->driver->unbind(udc->gadget);
|
|
|
- usb_gadget_udc_stop(udc->gadget, NULL);
|
|
|
+ usb_gadget_udc_stop(udc);
|
|
|
|
|
|
udc->driver = NULL;
|
|
|
udc->dev.driver = NULL;
|
|
|
@@ -395,7 +392,7 @@ static int udc_bind_to_driver(struct usb_udc *udc, struct usb_gadget_driver *dri
|
|
|
ret = driver->bind(udc->gadget, driver);
|
|
|
if (ret)
|
|
|
goto err1;
|
|
|
- ret = usb_gadget_udc_start(udc->gadget, driver);
|
|
|
+ ret = usb_gadget_udc_start(udc);
|
|
|
if (ret) {
|
|
|
driver->unbind(udc->gadget);
|
|
|
goto err1;
|
|
|
@@ -513,12 +510,12 @@ static ssize_t usb_udc_softconn_store(struct device *dev,
|
|
|
}
|
|
|
|
|
|
if (sysfs_streq(buf, "connect")) {
|
|
|
- usb_gadget_udc_start(udc->gadget, udc->driver);
|
|
|
+ usb_gadget_udc_start(udc);
|
|
|
usb_gadget_connect(udc->gadget);
|
|
|
} else if (sysfs_streq(buf, "disconnect")) {
|
|
|
usb_gadget_disconnect(udc->gadget);
|
|
|
udc->driver->disconnect(udc->gadget);
|
|
|
- usb_gadget_udc_stop(udc->gadget, udc->driver);
|
|
|
+ usb_gadget_udc_stop(udc);
|
|
|
} else {
|
|
|
dev_err(dev, "unsupported command '%s'\n", buf);
|
|
|
return -EINVAL;
|