On Tue, Mar 10, 2015 at 04:27:37PM -0500, Felipe Balbi wrote:
> hi,
> 
> On Fri, Mar 06, 2015 at 10:36:04AM +0800, Peter Chen wrote:
> > @@ -1574,13 +1574,12 @@ static int ci_udc_pullup(struct usb_gadget 
> > *_gadget, int is_on)
> >  {
> >     struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
> >  
> > -   if (!ci->vbus_active)
> > -           return -EOPNOTSUPP;
> > -
> > +   pm_runtime_get_sync(&ci->gadget.dev);
> >     if (is_on)
> >             hw_write(ci, OP_USBCMD, USBCMD_RS, USBCMD_RS);
> >     else
> >             hw_write(ci, OP_USBCMD, USBCMD_RS, 0);
> > +   pm_runtime_put_sync(&ci->gadget.dev);
> 
> pm_runtime_* here look like they belong to a separate patch ?
> 

For chipidea driver, if vbus is not active, it will enter low power
mode, so the ci_udc_pullup will do noop. We remove the
vbus condition at this patch, so we need to keep controller active
when access register, the udc core will pull down dp when the
vbus is not there.

-- 

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to