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

Commit 6e13c650 authored by Heikki Krogerus's avatar Heikki Krogerus Committed by Felipe Balbi
Browse files

usb: otg: Convert all users to pass struct usb_otg for OTG functions



This changes the otg functions so that they receive struct
otg instead of struct usb_phy as parameter and
converts all users of these functions to pass the otg member
of their usb_phy.

Includes fixes to IMX code from Sascha Hauer.

[ balbi@ti.com : fixed a compile warning on ehci-mv.c ]

Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Acked-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
Acked-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
Acked-by: default avatarPavankumar Kondeti <pkondeti@codeaurora.org>
Acked-by: default avatarLi Yang <leoli@freescale.com>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Reviewed-by: default avatarMarek Vasut <marek.vasut@gmail.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 136ced89
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -145,13 +145,13 @@ static int pxa310_start_otg_host_transcvr(struct usb_bus *host)
		return err;
	}

	err = otg_set_vbus(u2d->otg, 1);
	err = otg_set_vbus(u2d->otg->otg, 1);
	if (err) {
		pr_err("OTG transceiver VBUS set failed");
		return err;
	}

	err = otg_set_host(u2d->otg, host);
	err = otg_set_host(u2d->otg->otg, host);
	if (err)
		pr_err("OTG transceiver Host mode set failed");

@@ -189,8 +189,8 @@ static void pxa310_stop_otg_hc(void)
{
	pxa310_otg_transceiver_rtsm();

	otg_set_host(u2d->otg, NULL);
	otg_set_vbus(u2d->otg, 0);
	otg_set_host(u2d->otg->otg, NULL);
	otg_set_vbus(u2d->otg->otg, 0);
	usb_phy_shutdown(u2d->otg);
}

+4 −3
Original line number Diff line number Diff line
@@ -2928,7 +2928,8 @@ static int udc_probe(struct ci13xxx_udc_driver *driver, struct device *dev,
		goto unreg_device;

	if (udc->transceiver) {
		retval = otg_set_peripheral(udc->transceiver, &udc->gadget);
		retval = otg_set_peripheral(udc->transceiver->otg,
						&udc->gadget);
		if (retval)
			goto remove_dbg;
	}
@@ -2945,7 +2946,7 @@ static int udc_probe(struct ci13xxx_udc_driver *driver, struct device *dev,

remove_trans:
	if (udc->transceiver) {
		otg_set_peripheral(udc->transceiver, &udc->gadget);
		otg_set_peripheral(udc->transceiver->otg, &udc->gadget);
		usb_put_transceiver(udc->transceiver);
	}

@@ -2981,7 +2982,7 @@ static void udc_remove(void)
	usb_del_gadget_udc(&udc->gadget);

	if (udc->transceiver) {
		otg_set_peripheral(udc->transceiver, &udc->gadget);
		otg_set_peripheral(udc->transceiver->otg, &udc->gadget);
		usb_put_transceiver(udc->transceiver);
	}
#ifdef CONFIG_USB_GADGET_DEBUG_FILES
+3 −2
Original line number Diff line number Diff line
@@ -1966,7 +1966,8 @@ static int fsl_start(struct usb_gadget_driver *driver,

		/* connect to bus through transceiver */
		if (udc_controller->transceiver) {
			retval = otg_set_peripheral(udc_controller->transceiver,
			retval = otg_set_peripheral(
					udc_controller->transceiver->otg,
						    &udc_controller->gadget);
			if (retval < 0) {
				ERR("can't bind to transceiver\n");
@@ -2006,7 +2007,7 @@ static int fsl_stop(struct usb_gadget_driver *driver)
		return -EINVAL;

	if (udc_controller->transceiver)
		otg_set_peripheral(udc_controller->transceiver, NULL);
		otg_set_peripheral(udc_controller->transceiver->otg, NULL);

	/* stop DR, disable intr */
	dr_controller_stop(udc_controller);
+1 −1
Original line number Diff line number Diff line
@@ -1906,7 +1906,7 @@ static int langwell_stop(struct usb_gadget *g,

	/* unbind OTG transceiver */
	if (dev->transceiver)
		(void)otg_set_peripheral(dev->transceiver, 0);
		(void)otg_set_peripheral(dev->transceiver->otg, 0);

	/* disable interrupt and set controller to stop state */
	langwell_udc_stop(dev);
+2 −1
Original line number Diff line number Diff line
@@ -1384,7 +1384,8 @@ static int mv_udc_start(struct usb_gadget_driver *driver,
	}

	if (udc->transceiver) {
		retval = otg_set_peripheral(udc->transceiver, &udc->gadget);
		retval = otg_set_peripheral(udc->transceiver->otg,
					&udc->gadget);
		if (retval) {
			dev_err(&udc->dev->dev,
				"unable to register peripheral to otg\n");
Loading