diff mbox series

drm/bridge: dw-hdmi-cec: Make use of the helper function devm_add_action_or_reset()

Message ID 20210922125909.215-1-caihuoqing@baidu.com (mailing list archive)
State New, archived
Headers show
Series drm/bridge: dw-hdmi-cec: Make use of the helper function devm_add_action_or_reset() | expand

Commit Message

Cai,Huoqing Sept. 22, 2021, 12:59 p.m. UTC
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/gpu/drm/bridge/synopsys/dw-hdmi-cec.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Laurent Pinchart Sept. 22, 2021, 11:19 p.m. UTC | #1
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 <caihuoqing@baidu.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  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,
Robert Foss Oct. 6, 2021, 9:36 a.m. UTC | #2
Applied to drm-misc-next

On Thu, 23 Sept 2021 at 01:19, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> 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 <caihuoqing@baidu.com>
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> > ---
> >  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
diff mbox series

Patch

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,