]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - drivers/leds/leds-wm831x-status.c
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
[mirror_ubuntu-hirsute-kernel.git] / drivers / leds / leds-wm831x-status.c
index 082df7f1dd909c79436a640cec8ea308d20bade7..67f4235cb28a8b57603dd86170adaa1f7e792ca7 100644 (file)
@@ -269,12 +269,23 @@ static int wm831x_status_probe(struct platform_device *pdev)
        drvdata->cdev.blink_set = wm831x_status_blink_set;
        drvdata->cdev.groups = wm831x_status_groups;
 
-       ret = devm_led_classdev_register(wm831x->dev, &drvdata->cdev);
+       ret = led_classdev_register(wm831x->dev, &drvdata->cdev);
        if (ret < 0) {
                dev_err(&pdev->dev, "Failed to register LED: %d\n", ret);
                return ret;
        }
 
+       platform_set_drvdata(pdev, drvdata);
+
+       return 0;
+}
+
+static int wm831x_status_remove(struct platform_device *pdev)
+{
+       struct wm831x_status *drvdata = platform_get_drvdata(pdev);
+
+       led_classdev_unregister(&drvdata->cdev);
+
        return 0;
 }
 
@@ -283,6 +294,7 @@ static struct platform_driver wm831x_status_driver = {
                   .name = "wm831x-status",
                   },
        .probe = wm831x_status_probe,
+       .remove = wm831x_status_remove,
 };
 
 module_platform_driver(wm831x_status_driver);