diff options
author | Cai Huoqing <caihuoqing@baidu.com> | 2021-09-22 15:00:16 +0200 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2021-10-01 12:21:23 +0200 |
commit | 6ae6942fe996a32f0ff471c6481b3a545e11e14b (patch) | |
tree | 39c1d5def577e398e4227cf2f6ae3601bf37c7d4 /drivers/phy/qualcomm/phy-qcom-qmp.c | |
parent | dt-bindings: phy: brcm,ns-usb2-phy: bind just a PHY block (diff) | |
download | linux-6ae6942fe996a32f0ff471c6481b3a545e11e14b.tar.xz linux-6ae6942fe996a32f0ff471c6481b3a545e11e14b.zip |
phy: qcom-qmp: Make use of the helper function devm_add_action_or_reset()
The helper function devm_add_action_or_reset() will internally
call devm_add_action(), and gif devm_add_action() fails then it will
execute the action mentioned and return the error code. So
use devm_add_action_or_reset() instead of devm_add_action()
to simplify the error handling, reduce the code.
Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210922130017.692-1-caihuoqing@baidu.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/phy/qualcomm/phy-qcom-qmp.c')
-rw-r--r-- | drivers/phy/qualcomm/phy-qcom-qmp.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c index f14032170b1c..084e3d96264e 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -5154,11 +5154,7 @@ static int phy_pipe_clk_register(struct qcom_qmp *qmp, struct device_node *np) * Roll a devm action because the clock provider is the child node, but * the child node is not actually a device. */ - ret = devm_add_action(qmp->dev, phy_clk_release_provider, np); - if (ret) - phy_clk_release_provider(np); - - return ret; + return devm_add_action_or_reset(qmp->dev, phy_clk_release_provider, np); } /* @@ -5350,11 +5346,7 @@ static int phy_dp_clks_register(struct qcom_qmp *qmp, struct qmp_phy *qphy, * Roll a devm action because the clock provider is the child node, but * the child node is not actually a device. */ - ret = devm_add_action(qmp->dev, phy_clk_release_provider, np); - if (ret) - phy_clk_release_provider(np); - - return ret; + return devm_add_action_or_reset(qmp->dev, phy_clk_release_provider, np); } static const struct phy_ops qcom_qmp_phy_gen_ops = { |