[PATCH v6 12/14] usb: chipidea: permit driver bindings pass phy pointer
From: mkl@pengutronix.de (Marc Kleine-Budde)
Date: 2012-06-21 07:18:22
Also in:
linux-devicetree
On 06/21/2012 08:41 AM, Richard Zhao wrote:
Sometimes, the driver bindings may know what phy they use. For example, when using device tree, the usb controller may have a phandler pointing to usb phy. Signed-off-by: Richard Zhao <redacted> Reviewed-by: Marek Vasut <marex@denx.de> Acked-by: Felipe Balbi <redacted> Tested-by: Subodh Nijsure <redacted>
[...]
quoted hunk
--- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c@@ -1684,7 +1684,8 @@ static int udc_start(struct ci13xxx *ci) ci->gadget.ep0 = &ci->ep0in->ep; - ci->transceiver = usb_get_transceiver(); + if (ci->global_phy) {
^^^ This doesn't compile, closing curly brackets are missing.
quoted hunk
+ ci->transceiver = usb_get_transceiver(); if (ci->platdata->flags & CI13XXX_REQUIRE_TRANSCEIVER) { if (ci->transceiver == NULL) {@@ -1728,7 +1729,8 @@ static int udc_start(struct ci13xxx *ci) remove_trans: if (ci->transceiver) { otg_set_peripheral(ci->transceiver->otg, &ci->gadget); - usb_put_transceiver(ci->transceiver); + if (ci->global_phy) + usb_put_transceiver(ci->transceiver); } dev_err(dev, "error = %i\n", retval);@@ -1737,7 +1739,7 @@ remove_dbg: unreg_device: device_unregister(&ci->gadget.dev); put_transceiver: - if (ci->transceiver) + if (ci->transceiver && ci->global_phy) usb_put_transceiver(ci->transceiver); free_pools: dma_pool_destroy(ci->td_pool);@@ -1771,7 +1773,8 @@ static void udc_stop(struct ci13xxx *ci) if (ci->transceiver) { otg_set_peripheral(ci->transceiver->otg, NULL); - usb_put_transceiver(ci->transceiver); + if (ci->global_phy) + usb_put_transceiver(ci->transceiver); } dbg_remove_files(&ci->gadget.dev); device_unregister(&ci->gadget.dev);diff --git a/include/linux/usb/chipidea.h b/include/linux/usb/chipidea.h index be078f0..544825d 100644
Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de | -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 262 bytes Desc: OpenPGP digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120621/92e518aa/attachment.sig>