Skip to content

Commit

Permalink
drivers/video/backlight/wm831x_bl.c: use devm_ functions
Browse files Browse the repository at this point in the history
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>
Acked-by: 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>
  • Loading branch information
Julia Lawall authored and Linus Torvalds committed Mar 23, 2012
1 parent 462dd83 commit 1107d40
Showing 1 changed file with 1 addition and 5 deletions.
6 changes: 1 addition & 5 deletions drivers/video/backlight/wm831x_bl.c
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ static int wm831x_backlight_probe(struct platform_device *pdev)
if (ret < 0)
return ret;

data = kzalloc(sizeof(*data), GFP_KERNEL);
data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
if (data == NULL)
return -ENOMEM;

Expand All @@ -200,7 +200,6 @@ static int wm831x_backlight_probe(struct platform_device *pdev)
&wm831x_backlight_ops, &props);
if (IS_ERR(bl)) {
dev_err(&pdev->dev, "failed to register backlight\n");
kfree(data);
return PTR_ERR(bl);
}

Expand All @@ -211,7 +210,6 @@ static int wm831x_backlight_probe(struct platform_device *pdev)
/* Disable the DCDC if it was started so we can bootstrap */
wm831x_set_bits(wm831x, WM831X_DCDC_ENABLE, WM831X_DC4_ENA, 0);


backlight_update_status(bl);

return 0;
Expand All @@ -220,10 +218,8 @@ static int wm831x_backlight_probe(struct platform_device *pdev)
static int wm831x_backlight_remove(struct platform_device *pdev)
{
struct backlight_device *bl = platform_get_drvdata(pdev);
struct wm831x_backlight_data *data = bl_get_data(bl);

backlight_device_unregister(bl);
kfree(data);
return 0;
}

Expand Down

0 comments on commit 1107d40

Please sign in to comment.