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 |
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 --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; }
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(-)