mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 14:12:07 +02:00
phy: rockchip-pcie: Refactor mutex handling in rockchip_pcie_phy_power_off()
Refactor the mutex handling in the rockchip_pcie_phy_power_off() function to improve code readability and maintainability. The goto statement has been removed, and the mutex_unlock call is now directly within the conditional block. Return the result of reset_control_assert() function, with 0 indicating success and an error code indicating failure Signed-off-by: Anand Moon <linux.amoon@gmail.com> Link: https://lore.kernel.org/r/20241012071919.3726-5-linux.amoon@gmail.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
cb0ba26ad0
commit
bb70d1aae5
|
|
@ -132,26 +132,24 @@ static int rockchip_pcie_phy_power_off(struct phy *phy)
|
|||
PHY_LANE_IDLE_MASK,
|
||||
PHY_LANE_IDLE_A_SHIFT + inst->index));
|
||||
|
||||
if (--rk_phy->pwr_cnt)
|
||||
goto err_out;
|
||||
if (--rk_phy->pwr_cnt) {
|
||||
mutex_unlock(&rk_phy->pcie_mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
err = reset_control_assert(rk_phy->phy_rst);
|
||||
if (err) {
|
||||
dev_err(&phy->dev, "assert phy_rst err %d\n", err);
|
||||
goto err_restore;
|
||||
rk_phy->pwr_cnt++;
|
||||
regmap_write(rk_phy->reg_base,
|
||||
rk_phy->phy_data->pcie_laneoff,
|
||||
HIWORD_UPDATE(!PHY_LANE_IDLE_OFF,
|
||||
PHY_LANE_IDLE_MASK,
|
||||
PHY_LANE_IDLE_A_SHIFT + inst->index));
|
||||
mutex_unlock(&rk_phy->pcie_mutex);
|
||||
return err;
|
||||
}
|
||||
|
||||
err_out:
|
||||
mutex_unlock(&rk_phy->pcie_mutex);
|
||||
return 0;
|
||||
|
||||
err_restore:
|
||||
rk_phy->pwr_cnt++;
|
||||
regmap_write(rk_phy->reg_base,
|
||||
rk_phy->phy_data->pcie_laneoff,
|
||||
HIWORD_UPDATE(!PHY_LANE_IDLE_OFF,
|
||||
PHY_LANE_IDLE_MASK,
|
||||
PHY_LANE_IDLE_A_SHIFT + inst->index));
|
||||
mutex_unlock(&rk_phy->pcie_mutex);
|
||||
return err;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user