Refactor the mutex handling in the rockchip_pcie_phy_power_on() 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_deassert() or regmap_read_poll_timeout()
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-6-linux.amoon@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
 
        mutex_lock(&rk_phy->pcie_mutex);
 
-       if (rk_phy->pwr_cnt++)
-               goto err_out;
+       if (rk_phy->pwr_cnt++) {
+               mutex_unlock(&rk_phy->pcie_mutex);
+               return 0;
+       }
 
        err = reset_control_deassert(rk_phy->phy_rst);
        if (err) {
                dev_err(&phy->dev, "deassert phy_rst err %d\n", err);
-               goto err_pwr_cnt;
+               rk_phy->pwr_cnt--;
+               mutex_unlock(&rk_phy->pcie_mutex);
+               return err;
        }
 
        regmap_write(rk_phy->reg_base, rk_phy->phy_data->pcie_conf,
                goto err_pll_lock;
        }
 
-err_out:
        mutex_unlock(&rk_phy->pcie_mutex);
-       return 0;
+       return err;
 
 err_pll_lock:
        reset_control_assert(rk_phy->phy_rst);
-err_pwr_cnt:
        rk_phy->pwr_cnt--;
        mutex_unlock(&rk_phy->pcie_mutex);
        return err;