Message ID | 20210922125924.321-1-caihuoqing@baidu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | EDAC/al-mc-edac: Make use of the helper function devm_add_action_or_reset() | expand |
> The helper function devm_add_action_or_reset() will internally > call devm_add_action(), and if 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> Acked-by: Talel Shenhar <talel@amazon.com> > --- > drivers/edac/al_mc_edac.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > diff --git a/drivers/edac/al_mc_edac.c b/drivers/edac/al_mc_edac.c > index 7d4f396c27b5..178b9e581a72 100644 > --- a/drivers/edac/al_mc_edac.c > +++ b/drivers/edac/al_mc_edac.c > @@ -238,11 +238,9 @@ static int al_mc_edac_probe(struct platform_device *pdev) > if (!mci) > return -ENOMEM; > > - ret = devm_add_action(&pdev->dev, devm_al_mc_edac_free, mci); > - if (ret) { > - edac_mc_free(mci); > + ret = devm_add_action_or_reset(&pdev->dev, devm_al_mc_edac_free, mci); > + if (ret) > return ret; > - } > > platform_set_drvdata(pdev, mci); > al_mc = mci->pvt_info; > @@ -293,11 +291,9 @@ static int al_mc_edac_probe(struct platform_device *pdev) > return ret; > } > > - ret = devm_add_action(&pdev->dev, devm_al_mc_edac_del, &pdev->dev); > - if (ret) { > - edac_mc_del_mc(&pdev->dev); > + ret = devm_add_action_or_reset(&pdev->dev, devm_al_mc_edac_del, &pdev->dev); > + if (ret) > return ret; > - } > > if (al_mc->irq_ue > 0) { > ret = devm_request_irq(&pdev->dev, > -- > 2.25.1 >
On Wed, Sep 22, 2021 at 08:59:23PM +0800, Cai Huoqing wrote: > The helper function devm_add_action_or_reset() will internally > call devm_add_action(), and if 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> > --- > drivers/edac/al_mc_edac.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) Applied, thanks.
diff --git a/drivers/edac/al_mc_edac.c b/drivers/edac/al_mc_edac.c index 7d4f396c27b5..178b9e581a72 100644 --- a/drivers/edac/al_mc_edac.c +++ b/drivers/edac/al_mc_edac.c @@ -238,11 +238,9 @@ static int al_mc_edac_probe(struct platform_device *pdev) if (!mci) return -ENOMEM; - ret = devm_add_action(&pdev->dev, devm_al_mc_edac_free, mci); - if (ret) { - edac_mc_free(mci); + ret = devm_add_action_or_reset(&pdev->dev, devm_al_mc_edac_free, mci); + if (ret) return ret; - } platform_set_drvdata(pdev, mci); al_mc = mci->pvt_info; @@ -293,11 +291,9 @@ static int al_mc_edac_probe(struct platform_device *pdev) return ret; } - ret = devm_add_action(&pdev->dev, devm_al_mc_edac_del, &pdev->dev); - if (ret) { - edac_mc_del_mc(&pdev->dev); + ret = devm_add_action_or_reset(&pdev->dev, devm_al_mc_edac_del, &pdev->dev); + if (ret) return ret; - } if (al_mc->irq_ue > 0) { ret = devm_request_irq(&pdev->dev,
The helper function devm_add_action_or_reset() will internally call devm_add_action(), and if 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> --- drivers/edac/al_mc_edac.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-)