[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151123082929.GA8193@shlinux2>
Date: Mon, 23 Nov 2015 16:29:30 +0800
From: Peter Chen <peter.chen@...escale.com>
To: Tim Bird <tim.bird@...ymobile.com>
CC: <robh+dt@...nel.org>, <pawel.moll@....com>, <mark.rutland@....com>,
<gregkh@...uxfoundation.org>, <balbi@...com>,
<Bjorn.Andersson@...ymobile.com>, <linux-usb@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <tbird20d@...il.com>
Subject: Re: [PATCH v4 3/3] usb: chipidea: register driver as a peripheral
with the phy
On Fri, Nov 20, 2015 at 03:47:20PM -0800, Tim Bird wrote:
> 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@...ymobile.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;
Hi Tim,
I am afraid it can't work for current chipidea framework (find this
problem after testing), the chipidea core manages its host and device
function using its own API start/stop, it does not define struct usb_otg
APIs. In fact, it is not reasonable control host and device function
at PHY driver.
--
Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists