Merge tag 'iio-for-3.20a_take2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / drivers / staging / iio / meter / ade7758_core.c
index fb373b8..70e96b2 100644 (file)
@@ -850,23 +850,15 @@ static int ade7758_probe(struct spi_device *spi)
        if (ret)
                goto error_free_tx;
 
-       ret = iio_buffer_register(indio_dev,
-                                 &ade7758_channels[0],
-                                 ARRAY_SIZE(ade7758_channels));
-       if (ret) {
-               dev_err(&spi->dev, "failed to initialize the ring\n");
-               goto error_unreg_ring_funcs;
-       }
-
        /* Get the device into a sane initial state */
        ret = ade7758_initial_setup(indio_dev);
        if (ret)
-               goto error_uninitialize_ring;
+               goto error_unreg_ring_funcs;
 
        if (spi->irq) {
                ret = ade7758_probe_trigger(indio_dev);
                if (ret)
-                       goto error_uninitialize_ring;
+                       goto error_unreg_ring_funcs;
        }
 
        ret = iio_device_register(indio_dev);
@@ -878,8 +870,6 @@ static int ade7758_probe(struct spi_device *spi)
 error_remove_trigger:
        if (spi->irq)
                ade7758_remove_trigger(indio_dev);
-error_uninitialize_ring:
-       ade7758_uninitialize_ring(indio_dev);
 error_unreg_ring_funcs:
        ade7758_unconfigure_ring(indio_dev);
 error_free_tx:
@@ -897,7 +887,6 @@ static int ade7758_remove(struct spi_device *spi)
        iio_device_unregister(indio_dev);
        ade7758_stop_device(&indio_dev->dev);
        ade7758_remove_trigger(indio_dev);
-       ade7758_uninitialize_ring(indio_dev);
        ade7758_unconfigure_ring(indio_dev);
        kfree(st->tx);
        kfree(st->rx);