diff mbox series

[1/3] Input: colibri-vf50-ts - Make use of the helper function devm_add_action_or_reset()

Message ID 20210922125212.95-1-caihuoqing@baidu.com (mailing list archive)
State Changes Requested
Headers show
Series [1/3] Input: colibri-vf50-ts - Make use of the helper function devm_add_action_or_reset() | expand

Commit Message

Cai,Huoqing Sept. 22, 2021, 12:52 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/input/touchscreen/colibri-vf50-ts.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Dmitry Torokhov Sept. 23, 2021, 4:39 a.m. UTC | #1
Hi Cai,

On Wed, Sep 22, 2021 at 08:52:09PM +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/input/touchscreen/colibri-vf50-ts.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/colibri-vf50-ts.c b/drivers/input/touchscreen/colibri-vf50-ts.c
> index aa829725ded7..1a1d8e70ec40 100644
> --- a/drivers/input/touchscreen/colibri-vf50-ts.c
> +++ b/drivers/input/touchscreen/colibri-vf50-ts.c
> @@ -271,9 +271,8 @@ static int vf50_ts_probe(struct platform_device *pdev)
>  	if (IS_ERR(channels))
>  		return PTR_ERR(channels);
>  
> -	error = devm_add_action(dev, vf50_ts_channel_release, channels);
> +	error = devm_add_action_or_reset(dev, vf50_ts_channel_release, channels);

It looks like there is devm_iio_channel_get_all(), we should be using it
instead of installing a custom release action.

>  	if (error) {
> -		iio_channel_release_all(channels);
>  		dev_err(dev, "Failed to register iio channel release action");
>  		return error;
>  	}
> -- 
> 2.25.1
> 

Thanks.
diff mbox series

Patch

diff --git a/drivers/input/touchscreen/colibri-vf50-ts.c b/drivers/input/touchscreen/colibri-vf50-ts.c
index aa829725ded7..1a1d8e70ec40 100644
--- a/drivers/input/touchscreen/colibri-vf50-ts.c
+++ b/drivers/input/touchscreen/colibri-vf50-ts.c
@@ -271,9 +271,8 @@  static int vf50_ts_probe(struct platform_device *pdev)
 	if (IS_ERR(channels))
 		return PTR_ERR(channels);
 
-	error = devm_add_action(dev, vf50_ts_channel_release, channels);
+	error = devm_add_action_or_reset(dev, vf50_ts_channel_release, channels);
 	if (error) {
-		iio_channel_release_all(channels);
 		dev_err(dev, "Failed to register iio channel release action");
 		return error;
 	}