phy: qcom-qmp: Make use of the helper function devm_add_action_or_reset()
authorCai Huoqing <caihuoqing@baidu.com>
Wed, 22 Sep 2021 13:00:16 +0000 (21:00 +0800)
committerVinod Koul <vkoul@kernel.org>
Fri, 1 Oct 2021 10:21:23 +0000 (15:51 +0530)
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>
drivers/phy/qualcomm/phy-qcom-qmp.c

index f140321..084e3d9 100644 (file)
@@ -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 = {