Input: wm831x-ts - convert to devm_kzalloc()
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 11 Oct 2012 07:42:34 +0000 (00:42 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 11 Oct 2012 07:49:01 +0000 (00:49 -0700)
Saves a little code and eliminates the possibility of introducing some
leaks.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/wm831x-ts.c

index ac667e4..362f78d 100644 (file)
@@ -245,7 +245,8 @@ static __devinit int wm831x_ts_probe(struct platform_device *pdev)
        if (core_pdata)
                pdata = core_pdata->touch;
 
-       wm831x_ts = kzalloc(sizeof(struct wm831x_ts), GFP_KERNEL);
+       wm831x_ts = devm_kzalloc(&pdev->dev, sizeof(struct wm831x_ts),
+                                GFP_KERNEL);
        input_dev = input_allocate_device();
        if (!wm831x_ts || !input_dev) {
                error = -ENOMEM;
@@ -376,7 +377,6 @@ err_data_irq:
        free_irq(wm831x_ts->data_irq, wm831x_ts);
 err_alloc:
        input_free_device(input_dev);
-       kfree(wm831x_ts);
 
        return error;
 }
@@ -388,7 +388,6 @@ static __devexit int wm831x_ts_remove(struct platform_device *pdev)
        free_irq(wm831x_ts->pd_irq, wm831x_ts);
        free_irq(wm831x_ts->data_irq, wm831x_ts);
        input_unregister_device(wm831x_ts->input_dev);
-       kfree(wm831x_ts);
 
        return 0;
 }