Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c683347 authored by Felipe Balbi's avatar Felipe Balbi
Browse files

usb: gadget: udc: pass a single argument to usb_gadget_udc_start/stop



We know that our udc points to our gadget and our
gadget_driver, simplify the interface by passing
a single argument.

Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 69e28882
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -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;