dwc2_core_reset() was previously renamed to
dwc2_core_reset_and_force_mode(). Now add back dwc2_core_reset() which
performs only a basic core reset without forcing the mode.

Signed-off-by: John Youn <[email protected]>
---
 drivers/usb/dwc2/core.c | 22 ++++++++++++++++++----
 drivers/usb/dwc2/core.h |  1 +
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/dwc2/core.c b/drivers/usb/dwc2/core.c
index 24f9e80..b7a733a 100644
--- a/drivers/usb/dwc2/core.c
+++ b/drivers/usb/dwc2/core.c
@@ -478,14 +478,12 @@ static void dwc2_init_fs_ls_pclk_sel(struct dwc2_hsotg 
*hsotg)
 }
 
 /*
- * Do core a soft reset of the core.  Be careful with this because it
- * resets all the internal state machines of the core.
+ * Performs a base controller soft reset.
  */
-int dwc2_core_reset_and_force_mode(struct dwc2_hsotg *hsotg)
+int dwc2_core_reset(struct dwc2_hsotg *hsotg)
 {
        u32 greset;
        int count = 0;
-       u32 gusbcfg;
 
        dev_vdbg(hsotg->dev, "%s()\n", __func__);
 
@@ -517,6 +515,22 @@ int dwc2_core_reset_and_force_mode(struct dwc2_hsotg 
*hsotg)
                }
        } while (!(greset & GRSTCTL_AHBIDLE));
 
+       return 0;
+}
+
+/*
+ * Do core a soft reset of the core.  Be careful with this because it
+ * resets all the internal state machines of the core.
+ */
+int dwc2_core_reset_and_force_mode(struct dwc2_hsotg *hsotg)
+{
+       int retval;
+       u32 gusbcfg;
+
+       retval = dwc2_core_reset(hsotg);
+       if (retval)
+               return retval;
+
        if (hsotg->dr_mode == USB_DR_MODE_HOST) {
                gusbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
                gusbcfg &= ~GUSBCFG_FORCEDEVMODE;
diff --git a/drivers/usb/dwc2/core.h b/drivers/usb/dwc2/core.h
index 0b4c036..53c992a 100644
--- a/drivers/usb/dwc2/core.h
+++ b/drivers/usb/dwc2/core.h
@@ -889,6 +889,7 @@ enum dwc2_halt_status {
  * The following functions support initialization of the core driver component
  * and the DWC_otg controller
  */
+extern int dwc2_core_reset(struct dwc2_hsotg *hsotg);
 extern int dwc2_core_reset_and_force_mode(struct dwc2_hsotg *hsotg);
 extern void dwc2_core_host_init(struct dwc2_hsotg *hsotg);
 extern int dwc2_enter_hibernation(struct dwc2_hsotg *hsotg);
-- 
2.6.3

--
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