USB: OTG: msm: Resume hardware as part of ASYNC INT only

OTG drivr relies on runtime PM to suspend hardware and
release wakelocks. It also brings hardware out of suspend
and acquires wakelock during system resume. Later if device
power_count is not increased (say USB cable is not attached)
then device would suspend when kernel drops the power_count
in dpm_complete to match pm_runtime_get_noresume call in
dpm_prepare.
Since this handling has now been changed, it results
in preventing system to suspend subsequently.
Fix this by bringing hardware out of suspend only if runtime
PM is not enabled. As with RuntimePM, driver can wake up h/w
as part of handling ASYNC interrupt.

Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
diff --git a/drivers/usb/otg/msm_otg.c b/drivers/usb/otg/msm_otg.c
index ead2976..3a37c94 100644
--- a/drivers/usb/otg/msm_otg.c
+++ b/drivers/usb/otg/msm_otg.c
@@ -2075,23 +2075,19 @@
 static int msm_otg_pm_resume(struct device *dev)
 {
 	struct msm_otg *motg = dev_get_drvdata(dev);
-	int ret;
+	int ret = 0;
 
 	dev_dbg(dev, "OTG PM resume\n");
 
-	ret = msm_otg_resume(motg);
-	if (ret)
-		return ret;
-
+#ifdef CONFIG_PM_RUNTIME
 	/*
-	 * Runtime PM Documentation recommends bringing the
-	 * device to full powered state upon resume.
+	 * Do not resume hardware as part of system resume,
+	 * rather, wait for the ASYNC INT from the h/w
 	 */
-	pm_runtime_disable(dev);
-	pm_runtime_set_active(dev);
-	pm_runtime_enable(dev);
+	return ret;
+#endif
 
-	return 0;
+	return msm_otg_resume(motg);
 }
 #endif