]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/leds/leds-wrap.c
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / drivers / leds / leds-wrap.c
index 1ba3defdd46023ff028969aa46b8a4cd0d42d6f3..473fb6b97ed4f5f5ca86710f9b0afbfbaefa6ff3 100644 (file)
@@ -76,39 +76,19 @@ static int wrap_led_probe(struct platform_device *pdev)
 {
        int ret;
 
-       ret = led_classdev_register(&pdev->dev, &wrap_power_led);
+       ret = devm_led_classdev_register(&pdev->dev, &wrap_power_led);
        if (ret < 0)
                return ret;
 
-       ret = led_classdev_register(&pdev->dev, &wrap_error_led);
+       ret = devm_led_classdev_register(&pdev->dev, &wrap_error_led);
        if (ret < 0)
-               goto err1;
-
-       ret = led_classdev_register(&pdev->dev, &wrap_extra_led);
-       if (ret < 0)
-               goto err2;
-
-       return ret;
-
-err2:
-       led_classdev_unregister(&wrap_error_led);
-err1:
-       led_classdev_unregister(&wrap_power_led);
-
-       return ret;
-}
+               return ret;
 
-static int wrap_led_remove(struct platform_device *pdev)
-{
-       led_classdev_unregister(&wrap_power_led);
-       led_classdev_unregister(&wrap_error_led);
-       led_classdev_unregister(&wrap_extra_led);
-       return 0;
+       return  devm_led_classdev_register(&pdev->dev, &wrap_extra_led);
 }
 
 static struct platform_driver wrap_led_driver = {
        .probe          = wrap_led_probe,
-       .remove         = wrap_led_remove,
        .driver         = {
                .name           = DRVNAME,
        },