Merge tag 'for-v3.13/clock-fixes-a' of git://git.kernel.org/pub/scm/linux/kernel...
[cascardo/linux.git] / drivers / iio / industrialio-triggered-buffer.c
index 46c619b..d6f5493 100644 (file)
@@ -17,7 +17,6 @@
 #include <linux/iio/trigger_consumer.h>
 
 static const struct iio_buffer_setup_ops iio_triggered_buffer_setup_ops = {
-       .preenable = &iio_sw_buffer_preenable,
        .postenable = &iio_triggered_buffer_postenable,
        .predisable = &iio_triggered_buffer_predisable,
 };
@@ -47,14 +46,17 @@ int iio_triggered_buffer_setup(struct iio_dev *indio_dev,
        irqreturn_t (*pollfunc_th)(int irq, void *p),
        const struct iio_buffer_setup_ops *setup_ops)
 {
+       struct iio_buffer *buffer;
        int ret;
 
-       indio_dev->buffer = iio_kfifo_allocate(indio_dev);
-       if (!indio_dev->buffer) {
+       buffer = iio_kfifo_allocate(indio_dev);
+       if (!buffer) {
                ret = -ENOMEM;
                goto error_ret;
        }
 
+       iio_device_attach_buffer(indio_dev, buffer);
+
        indio_dev->pollfunc = iio_alloc_pollfunc(pollfunc_bh,
                                                 pollfunc_th,
                                                 IRQF_ONESHOT,