[PATCH 04/21] usb: chipidea: Only read/write OTGSC from one place

Peter Chen hzpeterchen at gmail.com
Tue Jun 28 02:36:06 PDT 2016


On Mon, Jun 27, 2016 at 12:07:54PM -0700, Stephen Boyd wrote:
> Quoting Jun Li (2016-06-27 01:04:39)
> > > diff --git a/drivers/usb/chipidea/otg.c b/drivers/usb/chipidea/otg.c index
> > > 03b6743461d1..763a8332b009 100644
> > > --- a/drivers/usb/chipidea/otg.c
> > > +++ b/drivers/usb/chipidea/otg.c
> > > @@ -104,7 +104,32 @@ void ci_handle_vbus_change(struct ci_hdrc *ci)
> > >               usb_gadget_vbus_disconnect(&ci->gadget);
> > >  }
> > > 
> > > -#define CI_VBUS_STABLE_TIMEOUT_MS 5000
> > > +/**
> > > + * Sometimes, it needs to wait register value before going on.
> > > + * Eg, when switch to device mode, the vbus value should be lower
> > > + * than OTGSC_BSV before connects to host.
> > 
> > This should be updated since this API is dedicated for BSV now.
> 
> Ok I've updated it to say:
> 
>   When we switch to device mode, the vbus value should be lower
>   than OTGSC_BSV before connecting to host.
> 
> > 
> > > + *
> > > + * @ci: the controller
> > > + *
> > > + * This function returns an error code if timeout  */ static int
> > > +hw_wait_otgsc_bsv(struct ci_hdrc *ci) {
> > > +     unsigned long elapse = jiffies + msecs_to_jiffies(5000);
> > > +     u32 mask = OTGSC_BSV;
> > > +
> > > +     while (!hw_read_otgsc(ci, mask)) {
> > 
> > Reverse logic, should be:
> > while (hw_read_otgsc(ci, mask)) {
> > 
> 
> Good catch! Thanks.

Besides above, please delete the declaration at ci.h.

-- 

Best Regards,
Peter Chen



More information about the linux-arm-kernel mailing list