diff options
Diffstat (limited to '')
-rw-r--r-- | drivers/staging/iio/gyro/adis16260_core.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c index c93f4d580fce..134dfaae2f0c 100644 --- a/drivers/staging/iio/gyro/adis16260_core.c +++ b/drivers/staging/iio/gyro/adis16260_core.c @@ -14,12 +14,13 @@ #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; } |