drivers/video/backlight: use devm_ functions
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
1107d40a50
commit
ce969228fd
@@ -141,7 +141,8 @@ static int omapbl_probe(struct platform_device *pdev)
|
||||
if (!pdata)
|
||||
return -ENXIO;
|
||||
|
||||
bl = kzalloc(sizeof(struct omap_backlight), GFP_KERNEL);
|
||||
bl = devm_kzalloc(&pdev->dev, sizeof(struct omap_backlight),
|
||||
GFP_KERNEL);
|
||||
if (unlikely(!bl))
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -150,10 +151,8 @@ static int omapbl_probe(struct platform_device *pdev)
|
||||
props.max_brightness = OMAPBL_MAX_INTENSITY;
|
||||
dev = backlight_device_register("omap-bl", &pdev->dev, bl, &omapbl_ops,
|
||||
&props);
|
||||
if (IS_ERR(dev)) {
|
||||
kfree(bl);
|
||||
if (IS_ERR(dev))
|
||||
return PTR_ERR(dev);
|
||||
}
|
||||
|
||||
bl->powermode = FB_BLANK_POWERDOWN;
|
||||
bl->current_intensity = 0;
|
||||
@@ -177,10 +176,8 @@ static int omapbl_probe(struct platform_device *pdev)
|
||||
static int omapbl_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct backlight_device *dev = platform_get_drvdata(pdev);
|
||||
struct omap_backlight *bl = dev_get_drvdata(&dev->dev);
|
||||
|
||||
backlight_device_unregister(dev);
|
||||
kfree(bl);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user