Skip to content

Commit

Permalink
phy: exynos5-usbdrd: gs101: ensure power is gated to SS phy in phy_ex…
Browse files Browse the repository at this point in the history
…it()

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: 32267c2 ("phy: exynos5-usbdrd: support Exynos USBDRD 3.1 combo phy (HS & SS)")
CC: stable@vger.kernel.org # 6.11+
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/r/20241205-gs101-usb-phy-fix-v4-1-0278809fb810@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
  • Loading branch information
André Draszik authored and Vinod Koul committed Feb 14, 2025
1 parent cd57e43 commit 8789b42
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions drivers/phy/samsung/phy-exynos5-usbdrd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
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;

ret = exynos850_usbdrd_phy_exit(phy);
if (ret)
return ret;

exynos5_usbdrd_phy_isol(inst, true);
return regulator_bulk_disable(phy_drd->drv_data->n_regulators,
phy_drd->regulators);
}
Expand Down

0 comments on commit 8789b42

Please sign in to comment.