On Wed 22 Sep 06:00 PDT 2021, Cai Huoqing wrote: > 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. > Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> Regards, Bjorn > Signed-off-by: Cai Huoqing <caihuoqing@xxxxxxxxx> > --- > drivers/phy/qualcomm/phy-qcom-qmp.c | 12 ++---------- > 1 file 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 = { > -- > 2.25.1 >