props.type = BACKLIGHT_RAW;
        props.max_brightness = LM3533_BL_MAX_BRIGHTNESS;
        props.brightness = pdata->default_brightness;
-       bd = backlight_device_register(pdata->name, pdev->dev.parent, bl,
-                                               &lm3533_bl_ops, &props);
+       bd = devm_backlight_device_register(&pdev->dev, pdata->name,
+                                       pdev->dev.parent, bl, &lm3533_bl_ops,
+                                       &props);
        if (IS_ERR(bd)) {
                dev_err(&pdev->dev, "failed to register backlight device\n");
                return PTR_ERR(bd);
        ret = sysfs_create_group(&bd->dev.kobj, &lm3533_bl_attribute_group);
        if (ret < 0) {
                dev_err(&pdev->dev, "failed to create sysfs attributes\n");
-               goto err_unregister;
+               return ret;
        }
 
        backlight_update_status(bd);
 
 err_sysfs_remove:
        sysfs_remove_group(&bd->dev.kobj, &lm3533_bl_attribute_group);
-err_unregister:
-       backlight_device_unregister(bd);
 
        return ret;
 }
 
        lm3533_ctrlbank_disable(&bl->cb);
        sysfs_remove_group(&bd->dev.kobj, &lm3533_bl_attribute_group);
-       backlight_device_unregister(bd);
 
        return 0;
 }