backlight: as3711_bl: use devm_backlight_device_register()

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

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Jingoo Han 2013-11-12 15:09:10 -08:00 committed by Linus Torvalds
parent 568ee6c3c8
commit 83dedc056b
1 changed files with 5 additions and 21 deletions

View File

@ -240,7 +240,8 @@ static int as3711_bl_register(struct platform_device *pdev,
/* max tuning I = 31uA for voltage- and 38250uA for current-feedback */ /* max tuning I = 31uA for voltage- and 38250uA for current-feedback */
props.max_brightness = max_brightness; 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", "as3711-su1" : "as3711-su2",
&pdev->dev, su, &pdev->dev, su,
&as3711_bl_ops, &props); &as3711_bl_ops, &props);
@ -432,8 +433,7 @@ static int as3711_backlight_probe(struct platform_device *pdev)
case AS3711_SU2_LX_SD4: case AS3711_SU2_LX_SD4:
break; break;
default: default:
ret = -EINVAL; return -EINVAL;
goto esu2;
} }
switch (pdata->su2_feedback) { 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); max_brightness = min(pdata->su2_max_uA / 150, 255);
break; break;
default: default:
ret = -EINVAL; return -EINVAL;
goto esu2;
} }
ret = as3711_bl_init_su2(supply); ret = as3711_bl_init_su2(supply);
@ -457,25 +456,11 @@ static int as3711_backlight_probe(struct platform_device *pdev)
ret = as3711_bl_register(pdev, max_brightness, su); ret = as3711_bl_register(pdev, max_brightness, su);
if (ret < 0) if (ret < 0)
goto esu2; return ret;
} }
platform_set_drvdata(pdev, supply); 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; return 0;
} }
@ -485,7 +470,6 @@ static struct platform_driver as3711_backlight_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, },
.probe = as3711_backlight_probe, .probe = as3711_backlight_probe,
.remove = as3711_backlight_remove,
}; };
module_platform_driver(as3711_backlight_driver); module_platform_driver(as3711_backlight_driver);