]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/staging/iio/gyro/adis16260_core.c
staging: iio move scan_elements into ring buffer
[mv-sheeva.git] / drivers / staging / iio / gyro / adis16260_core.c
index c93f4d580fce618c20f0599efc19f73fefcf3d9b..134dfaae2f0cd982ae493d9865ecc5c4ab57c80b 100644 (file)
 #include <linux/device.h>
 #include <linux/kernel.h>
 #include <linux/spi/spi.h>
-
+#include <linux/slab.h>
 #include <linux/sysfs.h>
 #include <linux/list.h>
 
 #include "../iio.h"
 #include "../sysfs.h"
+#include "../ring_generic.h"
 #include "../adc/adc.h"
 #include "gyro.h"
 
@@ -555,8 +556,7 @@ static int __devinit adis16260_probe(struct spi_device *spi)
        if (ret)
                goto error_unreg_ring_funcs;
        regdone = 1;
-
-       ret = adis16260_initialize_ring(st->indio_dev->ring);
+       ret = iio_ring_buffer_register(st->indio_dev->ring, 0);
        if (ret) {
                printk(KERN_ERR "failed to initialize the ring\n");
                goto error_unreg_ring_funcs;
@@ -588,7 +588,7 @@ error_unregister_line:
        if (spi->irq)
                iio_unregister_interrupt_line(st->indio_dev, 0);
 error_uninitialize_ring:
-       adis16260_uninitialize_ring(st->indio_dev->ring);
+       iio_ring_buffer_unregister(st->indio_dev->ring);
 error_unreg_ring_funcs:
        adis16260_unconfigure_ring(st->indio_dev);
 error_free_dev:
@@ -622,15 +622,13 @@ static int adis16260_remove(struct spi_device *spi)
        if (spi->irq)
                iio_unregister_interrupt_line(indio_dev, 0);
 
-       adis16260_uninitialize_ring(indio_dev->ring);
+       iio_ring_buffer_unregister(st->indio_dev->ring);
        iio_device_unregister(indio_dev);
        adis16260_unconfigure_ring(indio_dev);
        kfree(st->tx);
        kfree(st->rx);
        kfree(st);
 
-       return 0;
-
 err_ret:
        return ret;
 }