diff mbox

phy-rockchip-pcie: remove deassert of phy_rst from exit callback

Message ID 1476333733-9696-1-git-send-email-shawn.lin@rock-chips.com (mailing list archive)
State New, archived
Headers show

Commit Message

Shawn Lin Oct. 13, 2016, 4:42 a.m. UTC
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.lin@rock-chips.com>
---

 drivers/phy/phy-rockchip-pcie.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

Comments

Heiko Stuebner Oct. 28, 2016, 8:31 a.m. UTC | #1
Am Donnerstag, 13. Oktober 2016, 12:42:13 CEST schrieb Shawn Lin:
> 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.lin@rock-chips.com>

looks ok to have that removed, as any future phy_init call will make sure it 
gets asserted anyway.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Kishon Vijay Abraham I Nov. 5, 2016, 5:48 a.m. UTC | #2
On Friday 28 October 2016 02:01 PM, Heiko Stuebner wrote:
> Am Donnerstag, 13. Oktober 2016, 12:42:13 CEST schrieb Shawn Lin:
>> 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.lin@rock-chips.com>
> 
> looks ok to have that removed, as any future phy_init call will make sure it 
> gets asserted anyway.
> 
> Reviewed-by: Heiko Stuebner <heiko@sntech.de>

merged, thanks.

-Kishon
>
diff mbox

Patch

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 = {