]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - drivers/input/misc/wm831x-on.c
Input: remove use of __devexit
[mirror_ubuntu-jammy-kernel.git] / drivers / input / misc / wm831x-on.c
index 6790a812a1db7ecf66b2c990687e162211624537..558767d8ebf43d501d77cb3277a706a722a92681 100644 (file)
@@ -69,14 +69,15 @@ static irqreturn_t wm831x_on_irq(int irq, void *data)
        return IRQ_HANDLED;
 }
 
-static int __devinit wm831x_on_probe(struct platform_device *pdev)
+static int wm831x_on_probe(struct platform_device *pdev)
 {
        struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
        struct wm831x_on *wm831x_on;
        int irq = wm831x_irq(wm831x, platform_get_irq(pdev, 0));
        int ret;
 
-       wm831x_on = kzalloc(sizeof(struct wm831x_on), GFP_KERNEL);
+       wm831x_on = devm_kzalloc(&pdev->dev, sizeof(struct wm831x_on),
+                                GFP_KERNEL);
        if (!wm831x_on) {
                dev_err(&pdev->dev, "Can't allocate data\n");
                return -ENOMEM;
@@ -120,11 +121,10 @@ err_irq:
 err_input_dev:
        input_free_device(wm831x_on->dev);
 err:
-       kfree(wm831x_on);
        return ret;
 }
 
-static int __devexit wm831x_on_remove(struct platform_device *pdev)
+static int wm831x_on_remove(struct platform_device *pdev)
 {
        struct wm831x_on *wm831x_on = platform_get_drvdata(pdev);
        int irq = platform_get_irq(pdev, 0);
@@ -132,14 +132,13 @@ static int __devexit wm831x_on_remove(struct platform_device *pdev)
        free_irq(irq, wm831x_on);
        cancel_delayed_work_sync(&wm831x_on->work);
        input_unregister_device(wm831x_on->dev);
-       kfree(wm831x_on);
 
        return 0;
 }
 
 static struct platform_driver wm831x_on_driver = {
        .probe          = wm831x_on_probe,
-       .remove         = __devexit_p(wm831x_on_remove),
+       .remove         = wm831x_on_remove,
        .driver         = {
                .name   = "wm831x-on",
                .owner  = THIS_MODULE,