aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/nvec/nvec_leds.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/nvec/nvec_leds.c')
-rw-r--r--drivers/staging/nvec/nvec_leds.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/staging/nvec/nvec_leds.c b/drivers/staging/nvec/nvec_leds.c
index f4cbcd62500..91947fb8606 100644
--- a/drivers/staging/nvec/nvec_leds.c
+++ b/drivers/staging/nvec/nvec_leds.c
@@ -49,7 +49,7 @@ static int __devinit nvec_led_probe(struct platform_device *pdev)
struct nvec_led *led;
int ret = 0;
- led = kzalloc(sizeof(*led), GFP_KERNEL);
+ led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL);
if (led == NULL)
return -ENOMEM;
@@ -64,16 +64,12 @@ static int __devinit nvec_led_probe(struct platform_device *pdev)
ret = led_classdev_register(&pdev->dev, &led->cdev);
if (ret < 0)
- goto err_led;
+ return ret;
/* to expose the default value to userspace */
led->cdev.brightness = 0;
return 0;
-
-err_led:
- kfree(led);
- return ret;
}
static int __devexit nvec_led_remove(struct platform_device *pdev)
@@ -81,7 +77,7 @@ static int __devexit nvec_led_remove(struct platform_device *pdev)
struct nvec_led *led = platform_get_drvdata(pdev);
led_classdev_unregister(&led->cdev);
- kfree(led);
+
return 0;
}