Loading drivers/usb/phy/phy-msm-usb.c +26 −14 Original line number Diff line number Diff line Loading @@ -3340,17 +3340,24 @@ static int msm_otg_dpdm_regulator_enable(struct regulator_dev *rdev) { int ret = 0; struct msm_otg *motg = rdev_get_drvdata(rdev); struct usb_phy *phy = &motg->phy; if (!motg->rm_pulldown) { msm_otg_dbg_log_event(&motg->phy, "Disable Pulldown", motg->rm_pulldown, 0); ret = msm_hsusb_ldo_enable(motg, USB_PHY_REG_3P3_ON); if (!ret) { if (ret) return ret; motg->rm_pulldown = true; msm_otg_dbg_log_event(&motg->phy, "RM Pulldown", /* Don't reset h/w if previous disconnect handling is pending */ if (phy->otg->state == OTG_STATE_B_IDLE || phy->otg->state == OTG_STATE_UNDEFINED) msm_otg_set_mode_nondriving(motg, true); else msm_otg_dbg_log_event(&motg->phy, "NonDrv err", motg->rm_pulldown, 0); } } msm_otg_set_mode_nondriving(motg, true); return ret; } Loading @@ -3359,17 +3366,22 @@ static int msm_otg_dpdm_regulator_disable(struct regulator_dev *rdev) { int ret = 0; struct msm_otg *motg = rdev_get_drvdata(rdev); struct usb_phy *phy = &motg->phy; if (motg->rm_pulldown) { /* Let sm_work handle it if USB core is active */ if (phy->otg->state == OTG_STATE_B_IDLE || phy->otg->state == OTG_STATE_UNDEFINED) msm_otg_set_mode_nondriving(motg, false); if (motg->rm_pulldown) { ret = msm_hsusb_ldo_enable(motg, USB_PHY_REG_3P3_OFF); if (!ret) { if (ret) return ret; motg->rm_pulldown = false; msm_otg_dbg_log_event(&motg->phy, "RM Pulldown", msm_otg_dbg_log_event(&motg->phy, "EN Pulldown", motg->rm_pulldown, 0); } } return ret; } Loading Loading
drivers/usb/phy/phy-msm-usb.c +26 −14 Original line number Diff line number Diff line Loading @@ -3340,17 +3340,24 @@ static int msm_otg_dpdm_regulator_enable(struct regulator_dev *rdev) { int ret = 0; struct msm_otg *motg = rdev_get_drvdata(rdev); struct usb_phy *phy = &motg->phy; if (!motg->rm_pulldown) { msm_otg_dbg_log_event(&motg->phy, "Disable Pulldown", motg->rm_pulldown, 0); ret = msm_hsusb_ldo_enable(motg, USB_PHY_REG_3P3_ON); if (!ret) { if (ret) return ret; motg->rm_pulldown = true; msm_otg_dbg_log_event(&motg->phy, "RM Pulldown", /* Don't reset h/w if previous disconnect handling is pending */ if (phy->otg->state == OTG_STATE_B_IDLE || phy->otg->state == OTG_STATE_UNDEFINED) msm_otg_set_mode_nondriving(motg, true); else msm_otg_dbg_log_event(&motg->phy, "NonDrv err", motg->rm_pulldown, 0); } } msm_otg_set_mode_nondriving(motg, true); return ret; } Loading @@ -3359,17 +3366,22 @@ static int msm_otg_dpdm_regulator_disable(struct regulator_dev *rdev) { int ret = 0; struct msm_otg *motg = rdev_get_drvdata(rdev); struct usb_phy *phy = &motg->phy; if (motg->rm_pulldown) { /* Let sm_work handle it if USB core is active */ if (phy->otg->state == OTG_STATE_B_IDLE || phy->otg->state == OTG_STATE_UNDEFINED) msm_otg_set_mode_nondriving(motg, false); if (motg->rm_pulldown) { ret = msm_hsusb_ldo_enable(motg, USB_PHY_REG_3P3_OFF); if (!ret) { if (ret) return ret; motg->rm_pulldown = false; msm_otg_dbg_log_event(&motg->phy, "RM Pulldown", msm_otg_dbg_log_event(&motg->phy, "EN Pulldown", motg->rm_pulldown, 0); } } return ret; } Loading