Re: [PATCH 12/14] phy: qcom-qmp: Replace devm_add_action() followed by failure action with devm_add_action_or_reset()
From: Bjorn Andersson
Date: Mon Jul 08 2019 - 12:20:00 EST
On Mon 08 Jul 05:34 PDT 2019, Fuqian Huang wrote:
> devm_add_action_or_reset() is introduced as a helper function which
> internally calls devm_add_action(). If devm_add_action() fails
> then it will execute the action mentioned and return the error code.
> This reduce source code size (avoid writing the action twice)
> and reduce the likelyhood of bugs.
>
> Signed-off-by: Fuqian Huang <huangfq.daxian@xxxxxxxxx>
Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> ---
> drivers/phy/qualcomm/phy-qcom-qmp.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c
> index cd91b4179b10..677916f8968c 100644
> --- a/drivers/phy/qualcomm/phy-qcom-qmp.c
> +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c
> @@ -1837,9 +1837,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_pipe_clk_release_provider, np);
> - if (ret)
> - phy_pipe_clk_release_provider(np);
> + ret = devm_add_action_or_reset(qmp->dev, phy_pipe_clk_release_provider, np);
>
> return ret;
> }
> --
> 2.11.0
>