2021-09-22 13:01:41

by Cai,Huoqing

[permalink] [raw]
Subject: [PATCH] drm/bridge: dw-hdmi-cec: 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 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 <[email protected]>
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
index 70ab4fbdc23e..c8f44bcb298a 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
@@ -265,11 +265,9 @@ static int dw_hdmi_cec_probe(struct platform_device *pdev)
/* override the module pointer */
cec->adap->owner = THIS_MODULE;

- ret = devm_add_action(&pdev->dev, dw_hdmi_cec_del, cec);
- if (ret) {
- cec_delete_adapter(cec->adap);
+ ret = devm_add_action_or_reset(&pdev->dev, dw_hdmi_cec_del, cec);
+ if (ret)
return ret;
- }

ret = devm_request_threaded_irq(&pdev->dev, cec->irq,
dw_hdmi_cec_hardirq,
--
2.25.1


2021-09-22 23:20:53

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH] drm/bridge: dw-hdmi-cec: Make use of the helper function devm_add_action_or_reset()

Hi Cai,

Thank you for the patch.

On Wed, Sep 22, 2021 at 08:59:08PM +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 <[email protected]>

Reviewed-by: Laurent Pinchart <[email protected]>

> ---
> drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
> index 70ab4fbdc23e..c8f44bcb298a 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
> @@ -265,11 +265,9 @@ static int dw_hdmi_cec_probe(struct platform_device *pdev)
> /* override the module pointer */
> cec->adap->owner = THIS_MODULE;
>
> - ret = devm_add_action(&pdev->dev, dw_hdmi_cec_del, cec);
> - if (ret) {
> - cec_delete_adapter(cec->adap);
> + ret = devm_add_action_or_reset(&pdev->dev, dw_hdmi_cec_del, cec);
> + if (ret)
> return ret;
> - }
>
> ret = devm_request_threaded_irq(&pdev->dev, cec->irq,
> dw_hdmi_cec_hardirq,

--
Regards,

Laurent Pinchart

2021-10-06 09:38:25

by Robert Foss

[permalink] [raw]
Subject: Re: [PATCH] drm/bridge: dw-hdmi-cec: Make use of the helper function devm_add_action_or_reset()

Applied to drm-misc-next

On Thu, 23 Sept 2021 at 01:19, Laurent Pinchart
<[email protected]> wrote:
>
> Hi Cai,
>
> Thank you for the patch.
>
> On Wed, Sep 22, 2021 at 08:59:08PM +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 <[email protected]>
>
> Reviewed-by: Laurent Pinchart <[email protected]>
>
> > ---
> > drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c | 6 ++----
> > 1 file changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
> > index 70ab4fbdc23e..c8f44bcb298a 100644
> > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
> > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.c
> > @@ -265,11 +265,9 @@ static int dw_hdmi_cec_probe(struct platform_device *pdev)
> > /* override the module pointer */
> > cec->adap->owner = THIS_MODULE;
> >
> > - ret = devm_add_action(&pdev->dev, dw_hdmi_cec_del, cec);
> > - if (ret) {
> > - cec_delete_adapter(cec->adap);
> > + ret = devm_add_action_or_reset(&pdev->dev, dw_hdmi_cec_del, cec);
> > + if (ret)
> > return ret;
> > - }
> >
> > ret = devm_request_threaded_irq(&pdev->dev, cec->irq,
> > dw_hdmi_cec_hardirq,
>
> --
> Regards,
>
> Laurent Pinchart