diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-01-10 18:09:45 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-10 19:30:49 -0500 |
commit | 1713cb9d6069fac581fcea928f65ca6ca7c9facf (patch) | |
tree | 51aec6df6fa247827b54f41b75ec3a66d426362b /drivers/leds | |
parent | 3b080945aa7670354364c8f9e1a3a07cbb97beb3 (diff) |
leds: convert wm831x status driver to devm_kzalloc()
Saves a small amount of code and systematically eliminates leaks.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/leds')
-rw-r--r-- | drivers/leds/leds-wm831x-status.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/leds/leds-wm831x-status.c b/drivers/leds/leds-wm831x-status.c index 444a68d8e17e..74a24cf897c3 100644 --- a/drivers/leds/leds-wm831x-status.c +++ b/drivers/leds/leds-wm831x-status.c | |||
@@ -237,7 +237,8 @@ static int wm831x_status_probe(struct platform_device *pdev) | |||
237 | goto err; | 237 | goto err; |
238 | } | 238 | } |
239 | 239 | ||
240 | drvdata = kzalloc(sizeof(struct wm831x_status), GFP_KERNEL); | 240 | drvdata = devm_kzalloc(&pdev->dev, sizeof(struct wm831x_status), |
241 | GFP_KERNEL); | ||
241 | if (!drvdata) | 242 | if (!drvdata) |
242 | return -ENOMEM; | 243 | return -ENOMEM; |
243 | dev_set_drvdata(&pdev->dev, drvdata); | 244 | dev_set_drvdata(&pdev->dev, drvdata); |
@@ -300,7 +301,6 @@ static int wm831x_status_probe(struct platform_device *pdev) | |||
300 | 301 | ||
301 | err_led: | 302 | err_led: |
302 | led_classdev_unregister(&drvdata->cdev); | 303 | led_classdev_unregister(&drvdata->cdev); |
303 | kfree(drvdata); | ||
304 | err: | 304 | err: |
305 | return ret; | 305 | return ret; |
306 | } | 306 | } |
@@ -311,7 +311,6 @@ static int wm831x_status_remove(struct platform_device *pdev) | |||
311 | 311 | ||
312 | device_remove_file(drvdata->cdev.dev, &dev_attr_src); | 312 | device_remove_file(drvdata->cdev.dev, &dev_attr_src); |
313 | led_classdev_unregister(&drvdata->cdev); | 313 | led_classdev_unregister(&drvdata->cdev); |
314 | kfree(drvdata); | ||
315 | 314 | ||
316 | return 0; | 315 | return 0; |
317 | } | 316 | } |