Use devm_backlight_device_register() to make cleanup paths simpler.

Signed-off-by: Jingoo Han <[email protected]>
---
 drivers/video/backlight/adp5520_bl.c |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/video/backlight/adp5520_bl.c 
b/drivers/video/backlight/adp5520_bl.c
index fe8e3d1..f37097a 100644
--- a/drivers/video/backlight/adp5520_bl.c
+++ b/drivers/video/backlight/adp5520_bl.c
@@ -312,8 +312,9 @@ static int adp5520_bl_probe(struct platform_device *pdev)
        memset(&props, 0, sizeof(struct backlight_properties));
        props.type = BACKLIGHT_RAW;
        props.max_brightness = ADP5020_MAX_BRIGHTNESS;
-       bl = backlight_device_register(pdev->name, data->master, data,
-                                      &adp5520_bl_ops, &props);
+       bl = devm_backlight_device_register(&pdev->dev, pdev->name,
+                                       data->master, data, &adp5520_bl_ops,
+                                       &props);
        if (IS_ERR(bl)) {
                dev_err(&pdev->dev, "failed to register backlight\n");
                return PTR_ERR(bl);
@@ -326,7 +327,7 @@ static int adp5520_bl_probe(struct platform_device *pdev)
 
        if (ret) {
                dev_err(&pdev->dev, "failed to register sysfs\n");
-               backlight_device_unregister(bl);
+               return ret;
        }
 
        platform_set_drvdata(pdev, bl);
@@ -347,8 +348,6 @@ static int adp5520_bl_remove(struct platform_device *pdev)
                sysfs_remove_group(&bl->dev.kobj,
                                &adp5520_bl_attr_group);
 
-       backlight_device_unregister(bl);
-
        return 0;
 }
 
-- 
1.7.10.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to