Use devm_backlight_device_register() to make cleanup paths simpler,
and remove unnecessary remove().

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

diff --git a/drivers/video/backlight/as3711_bl.c 
b/drivers/video/backlight/as3711_bl.c
index 123887c..bb1fc45 100644
--- a/drivers/video/backlight/as3711_bl.c
+++ b/drivers/video/backlight/as3711_bl.c
@@ -240,7 +240,8 @@ static int as3711_bl_register(struct platform_device *pdev,
        /* max tuning I = 31uA for voltage- and 38250uA for current-feedback */
        props.max_brightness = max_brightness;
 
-       bl = backlight_device_register(su->type == AS3711_BL_SU1 ?
+       bl = devm_backlight_device_register(&pdev->dev,
+                                      su->type == AS3711_BL_SU1 ?
                                       "as3711-su1" : "as3711-su2",
                                       &pdev->dev, su,
                                       &as3711_bl_ops, &props);
@@ -432,8 +433,7 @@ static int as3711_backlight_probe(struct platform_device 
*pdev)
                case AS3711_SU2_LX_SD4:
                        break;
                default:
-                       ret = -EINVAL;
-                       goto esu2;
+                       return -EINVAL;
                }
 
                switch (pdata->su2_feedback) {
@@ -447,8 +447,7 @@ static int as3711_backlight_probe(struct platform_device 
*pdev)
                        max_brightness = min(pdata->su2_max_uA / 150, 255);
                        break;
                default:
-                       ret = -EINVAL;
-                       goto esu2;
+                       return -EINVAL;
                }
 
                ret = as3711_bl_init_su2(supply);
@@ -457,26 +456,12 @@ static int as3711_backlight_probe(struct platform_device 
*pdev)
 
                ret = as3711_bl_register(pdev, max_brightness, su);
                if (ret < 0)
-                       goto esu2;
+                       return ret;
        }
 
        platform_set_drvdata(pdev, supply);
 
        return 0;
-
-esu2:
-       backlight_device_unregister(supply->su1.bl);
-       return ret;
-}
-
-static int as3711_backlight_remove(struct platform_device *pdev)
-{
-       struct as3711_bl_supply *supply = platform_get_drvdata(pdev);
-
-       backlight_device_unregister(supply->su1.bl);
-       backlight_device_unregister(supply->su2.bl);
-
-       return 0;
 }
 
 static struct platform_driver as3711_backlight_driver = {
@@ -485,7 +470,6 @@ static struct platform_driver as3711_backlight_driver = {
                .owner  = THIS_MODULE,
        },
        .probe          = as3711_backlight_probe,
-       .remove         = as3711_backlight_remove,
 };
 
 module_platform_driver(as3711_backlight_driver);
-- 
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