Message ID | 1476333733-9696-1-git-send-email-shawn.lin@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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>
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 --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 = {
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(-)