From: Shawn Lin <shawn....@rock-chips.com>

The deassert of phy_rst from exit callback is incorrect as when
doing phy_exit, we expect the phy_rst is on asserted state which was
done by power_off callback, but not deasserted state. Meanwhile when
disabling clk_pciephy_ref, the assert/deassert signal can't actually
take effect on the phy. So let's fix it anyway.

Signed-off-by: Shawn Lin <shawn....@rock-chips.com>
Reviewed-by: Heiko Stuebner <he...@sntech.de>
Signed-off-by: Kishon Vijay Abraham I <kis...@ti.com>
---
 drivers/phy/phy-rockchip-pcie.c |   13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/drivers/phy/phy-rockchip-pcie.c b/drivers/phy/phy-rockchip-pcie.c
index a2b4c6b..6904633 100644
--- a/drivers/phy/phy-rockchip-pcie.c
+++ b/drivers/phy/phy-rockchip-pcie.c
@@ -249,21 +249,10 @@ static int rockchip_pcie_phy_init(struct phy *phy)
 static int rockchip_pcie_phy_exit(struct phy *phy)
 {
        struct rockchip_pcie_phy *rk_phy = phy_get_drvdata(phy);
-       int err = 0;
 
        clk_disable_unprepare(rk_phy->clk_pciephy_ref);
 
-       err = reset_control_deassert(rk_phy->phy_rst);
-       if (err) {
-               dev_err(&phy->dev, "deassert phy_rst err %d\n", err);
-               goto err_reset;
-       }
-
-       return err;
-
-err_reset:
-       clk_prepare_enable(rk_phy->clk_pciephy_ref);
-       return err;
+       return 0;
 }
 
 static const struct phy_ops ops = {
-- 
1.7.9.5

Reply via email to