On Fri, Nov 14, 2014 at 08:03:16AM +0800, Peter Chen wrote: > The hw_device_reset is dedicated to be used at device mode initializaiton, > so delete the parameter 'mode'. For host driver, the ehci driver will > all things. this last sentence doesn't parse very well. > Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> > --- > drivers/usb/chipidea/ci.h | 2 +- > drivers/usb/chipidea/core.c | 8 ++++---- > drivers/usb/chipidea/otg_fsm.c | 2 +- > drivers/usb/chipidea/udc.c | 4 ++-- > 4 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/usb/chipidea/ci.h b/drivers/usb/chipidea/ci.h > index 5bbfcc7..65913d4 100644 > --- a/drivers/usb/chipidea/ci.h > +++ b/drivers/usb/chipidea/ci.h > @@ -352,7 +352,7 @@ u32 hw_read_intr_enable(struct ci_hdrc *ci); > > u32 hw_read_intr_status(struct ci_hdrc *ci); > > -int hw_device_reset(struct ci_hdrc *ci, u32 mode); > +int hw_device_reset(struct ci_hdrc *ci); > > int hw_port_test_set(struct ci_hdrc *ci, u8 mode); > > diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c > index dffd89b..053ab4f 100644 > --- a/drivers/usb/chipidea/core.c > +++ b/drivers/usb/chipidea/core.c > @@ -410,7 +410,7 @@ static int hw_controller_reset(struct ci_hdrc *ci) > * > * This function returns an error code > */ > -int hw_device_reset(struct ci_hdrc *ci, u32 mode) > +int hw_device_reset(struct ci_hdrc *ci) > { > int ret; > > @@ -440,12 +440,12 @@ int hw_device_reset(struct ci_hdrc *ci, u32 mode) > > /* USBMODE should be configured step by step */ > hw_write(ci, OP_USBMODE, USBMODE_CM, USBMODE_CM_IDLE); > - hw_write(ci, OP_USBMODE, USBMODE_CM, mode); > + hw_write(ci, OP_USBMODE, USBMODE_CM, USBMODE_CM_DC); > /* HW >= 2.3 */ > hw_write(ci, OP_USBMODE, USBMODE_SLOM, USBMODE_SLOM); > > - if (hw_read(ci, OP_USBMODE, USBMODE_CM) != mode) { > - pr_err("cannot enter in %s mode", ci_role(ci)->name); > + if (hw_read(ci, OP_USBMODE, USBMODE_CM) != USBMODE_CM_DC) { > + pr_err("cannot enter in %s device mode", ci_role(ci)->name); > pr_err("lpm = %i", ci->hw_bank.lpm); > return -ENODEV; > } > diff --git a/drivers/usb/chipidea/otg_fsm.c b/drivers/usb/chipidea/otg_fsm.c > index 21058ae..e8c936d 100644 > --- a/drivers/usb/chipidea/otg_fsm.c > +++ b/drivers/usb/chipidea/otg_fsm.c > @@ -543,7 +543,7 @@ static int ci_otg_start_host(struct otg_fsm *fsm, int on) > ci_role_start(ci, CI_ROLE_HOST); > } else { > ci_role_stop(ci); > - hw_device_reset(ci, USBMODE_CM_DC); > + hw_device_reset(ci); > ci_role_start(ci, CI_ROLE_GADGET); > } > mutex_lock(&fsm->lock); > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > index bdaa7ba..4fe18ce 100644 > --- a/drivers/usb/chipidea/udc.c > +++ b/drivers/usb/chipidea/udc.c > @@ -1471,7 +1471,7 @@ static int ci_udc_vbus_session(struct usb_gadget *_gadget, int is_active) > if (gadget_ready) { > if (is_active) { > pm_runtime_get_sync(&_gadget->dev); > - hw_device_reset(ci, USBMODE_CM_DC); > + hw_device_reset(ci); > hw_device_state(ci, ci->ep0out->qh.dma); > usb_gadget_set_state(_gadget, USB_STATE_POWERED); > } else { > @@ -1660,7 +1660,7 @@ static int ci_udc_start(struct usb_gadget *gadget, > pm_runtime_get_sync(&ci->gadget.dev); > if (ci->vbus_active) { > spin_lock_irqsave(&ci->lock, flags); > - hw_device_reset(ci, USBMODE_CM_DC); > + hw_device_reset(ci); wow, you guys reset this IP all the time... that's scary, could be hiding bugs easily. -- balbi
Attachment:
signature.asc
Description: Digital signature