diff options
Diffstat (limited to 'drivers/staging/nvec/nvec_leds.c')
-rw-r--r-- | drivers/staging/nvec/nvec_leds.c | 10 |
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; } |