Use devm_add_action_or_reset() instead of devm_add_action()+hand writing
what is done in the release function, should an error occur.
This is more straightforward and saves a few lines of code.
While at it, remove a useless test in devm_backlight_release(). 'data' is
known to be not NULL when this function is called.
Signed-off-by: Christophe JAILLET <[email protected]>
---
drivers/video/backlight/backlight.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
index 4ae6fae94ac2..b788ff3d0f45 100644
--- a/drivers/video/backlight/backlight.c
+++ b/drivers/video/backlight/backlight.c
@@ -710,8 +710,7 @@ static void devm_backlight_release(void *data)
{
struct backlight_device *bd = data;
- if (bd)
- put_device(&bd->dev);
+ put_device(&bd->dev);
}
/**
@@ -737,11 +736,10 @@ struct backlight_device *devm_of_find_backlight(struct device *dev)
bd = of_find_backlight(dev);
if (IS_ERR_OR_NULL(bd))
return bd;
- ret = devm_add_action(dev, devm_backlight_release, bd);
- if (ret) {
- put_device(&bd->dev);
+ ret = devm_add_action_or_reset(dev, devm_backlight_release, bd);
+ if (ret)
return ERR_PTR(ret);
- }
+
return bd;
}
EXPORT_SYMBOL(devm_of_find_backlight);
--
2.32.0
On Sun, Feb 13, 2022 at 08:41:39AM +0100, Christophe JAILLET wrote:
> Use devm_add_action_or_reset() instead of devm_add_action()+hand writing
> what is done in the release function, should an error occur.
>
> This is more straightforward and saves a few lines of code.
>
> While at it, remove a useless test in devm_backlight_release(). 'data' is
> known to be not NULL when this function is called.
>
> Signed-off-by: Christophe JAILLET <[email protected]>
Reviewed-by: Daniel Thompson <[email protected]>
Daniel.
On Sun, 13 Feb 2022, Christophe JAILLET wrote:
> Use devm_add_action_or_reset() instead of devm_add_action()+hand writing
> what is done in the release function, should an error occur.
>
> This is more straightforward and saves a few lines of code.
>
> While at it, remove a useless test in devm_backlight_release(). 'data' is
> known to be not NULL when this function is called.
>
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> drivers/video/backlight/backlight.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
Applied, thanks.
--
Lee Jones [李琼斯]
Principal Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog