Messages in this thread Patch in this message | | | From | Tim Bird <> | Subject | [PATCH v2 3/3] usb: chipidea: register driver as a peripheral with the phy | Date | Fri, 20 Nov 2015 14:37:18 -0800 |
| |
Register the chipidea driver with the phy, so that the phy driver can kick the gadget driver when it resumes from low power. The phy-msm-usb (Qualcomm) driver requires this in order to recover gadget operation after you disconnect the USB cable and reconnect it.
Signed-off-by: Tim Bird <tim.bird@sonymobile.com> --- drivers/usb/chipidea/udc.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index 8223fe7..06234cd 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c @@ -1890,6 +1890,12 @@ static int udc_start(struct ci_hdrc *ci) ci->gadget.ep0 = &ci->ep0in->ep; + if (ci->usb_phy) { + retval = otg_set_peripheral(ci->usb_phy->otg, &ci->gadget); + if (retval) + goto destroy_eps; + } + retval = usb_add_gadget_udc(dev, &ci->gadget); if (retval) goto destroy_eps; -- 1.8.2.2
| |