mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 20:54:10 +08:00
phy-rockchip-pcie: remove deassert of phy_rst from exit callback
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> Reviewed-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
This commit is contained in:
parent
766325427f
commit
232c260982
@ -249,21 +249,10 @@ err_refclk:
|
|||||||
static int rockchip_pcie_phy_exit(struct phy *phy)
|
static int rockchip_pcie_phy_exit(struct phy *phy)
|
||||||
{
|
{
|
||||||
struct rockchip_pcie_phy *rk_phy = phy_get_drvdata(phy);
|
struct rockchip_pcie_phy *rk_phy = phy_get_drvdata(phy);
|
||||||
int err = 0;
|
|
||||||
|
|
||||||
clk_disable_unprepare(rk_phy->clk_pciephy_ref);
|
clk_disable_unprepare(rk_phy->clk_pciephy_ref);
|
||||||
|
|
||||||
err = reset_control_deassert(rk_phy->phy_rst);
|
return 0;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct phy_ops ops = {
|
static const struct phy_ops ops = {
|
||||||
|
Loading…
Reference in New Issue
Block a user