iio: adc: lp8788_adc: Use devm_* APIs
authorSachin Kamat <sachin.kamat@linaro.org>
Tue, 23 Jul 2013 08:58:00 +0000 (09:58 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sat, 3 Aug 2013 17:40:40 +0000 (18:40 +0100)
devm_* APIs are device managed and make code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Milo Kim <milo.kim@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/lp8788_adc.c

index 62bc39e..5c8c915 100644 (file)
@@ -194,7 +194,7 @@ static int lp8788_adc_probe(struct platform_device *pdev)
        struct lp8788_adc *adc;
        int ret;
 
-       indio_dev = iio_device_alloc(sizeof(*adc));
+       indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc));
        if (!indio_dev)
                return -ENOMEM;
 
@@ -205,7 +205,7 @@ static int lp8788_adc_probe(struct platform_device *pdev)
        indio_dev->dev.of_node = pdev->dev.of_node;
        ret = lp8788_iio_map_register(indio_dev, lp->pdata, adc);
        if (ret)
-               goto err_iio_map;
+               return ret;
 
        mutex_init(&adc->lock);
 
@@ -226,8 +226,6 @@ static int lp8788_adc_probe(struct platform_device *pdev)
 
 err_iio_device:
        iio_map_array_unregister(indio_dev);
-err_iio_map:
-       iio_device_free(indio_dev);
        return ret;
 }
 
@@ -237,7 +235,6 @@ static int lp8788_adc_remove(struct platform_device *pdev)
 
        iio_device_unregister(indio_dev);
        iio_map_array_unregister(indio_dev);
-       iio_device_free(indio_dev);
 
        return 0;
 }