Commit 8789b429 authored by André Draszik's avatar André Draszik Committed by Vinod Koul
Browse files

phy: exynos5-usbdrd: gs101: ensure power is gated to SS phy in phy_exit()



We currently don't gate the power to the SS phy in phy_exit().

Shuffle the code slightly to ensure the power is gated to the SS phy as
well.

Fixes: 32267c29 ("phy: exynos5-usbdrd: support Exynos USBDRD 3.1 combo phy (HS & SS)")
CC: stable@vger.kernel.org # 6.11+
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: default avatarPeter Griffin <peter.griffin@linaro.org>
Signed-off-by: default avatarAndré Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/r/20241205-gs101-usb-phy-fix-v4-1-0278809fb810@linaro.org


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent cd57e432
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -1296,14 +1296,17 @@ static int exynos5_usbdrd_gs101_phy_exit(struct phy *phy)
	struct exynos5_usbdrd_phy *phy_drd = to_usbdrd_phy(inst);
	int ret;

	if (inst->phy_cfg->id != EXYNOS5_DRDPHY_UTMI)
		return 0;

	if (inst->phy_cfg->id == EXYNOS5_DRDPHY_UTMI) {
		ret = exynos850_usbdrd_phy_exit(phy);
		if (ret)
			return ret;
	}

	exynos5_usbdrd_phy_isol(inst, true);

	if (inst->phy_cfg->id != EXYNOS5_DRDPHY_UTMI)
		return 0;

	return regulator_bulk_disable(phy_drd->drv_data->n_regulators,
				      phy_drd->regulators);
}