staging: iio: push the main buffer chrdev down to the top level.
[deliverable/linux.git] / drivers / staging / iio / meter / ade7758_ring.c
index b89b7f882e84106453f0dd933b80a4011551fc2f..5e740e386162cb9ab75dd3931a67338dbc8b7297 100644 (file)
@@ -6,23 +6,14 @@
  * Licensed under the GPL-2.
  */
 #include <linux/interrupt.h>
-#include <linux/irq.h>
-#include <linux/gpio.h>
-#include <linux/workqueue.h>
-#include <linux/mutex.h>
-#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 <asm/unaligned.h>
 
 #include "../iio.h"
-#include "../sysfs.h"
 #include "../ring_sw.h"
-#include "../accel/accel.h"
-#include "../trigger.h"
+#include "../trigger_consumer.h"
 #include "ade7758.h"
 
 /**
@@ -69,7 +60,7 @@ out:
 static irqreturn_t ade7758_trigger_handler(int irq, void *p)
 {
        struct iio_poll_func *pf = p;
-       struct iio_dev *indio_dev = pf->private_data;
+       struct iio_dev *indio_dev = pf->indio_dev;
        struct iio_ring_buffer *ring = indio_dev->ring;
        struct ade7758_state *st = iio_priv(indio_dev);
        s64 dat64[2];
@@ -136,12 +127,6 @@ static const struct iio_ring_setup_ops ade7758_ring_setup_ops = {
 
 void ade7758_unconfigure_ring(struct iio_dev *indio_dev)
 {
-       /* ensure that the trigger has been detached */
-       if (indio_dev->trig) {
-               iio_put_trigger(indio_dev->trig);
-               iio_trigger_dettach_poll_func(indio_dev->trig,
-                                             indio_dev->pollfunc);
-       }
        iio_dealloc_pollfunc(indio_dev->pollfunc);
        iio_sw_rb_free(indio_dev->ring);
 }
@@ -215,7 +200,7 @@ error_iio_sw_rb_free:
        return ret;
 }
 
-void ade7758_uninitialize_ring(struct iio_ring_buffer *ring)
+void ade7758_uninitialize_ring(struct iio_dev *indio_dev)
 {
-       iio_ring_buffer_unregister(ring);
+       iio_ring_buffer_unregister(indio_dev);
 }
This page took 0.028104 seconds and 5 git commands to generate.