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