* @scan_el_attrs:     [DRIVER] control of scan elements if that scan mode
  *                     control method is used
  * @scan_mask:         [INTERN] bitmask used in masking scan mode elements
- * @scan_index_timestamp:[INTERN] cache of the index to the timestamp
  * @scan_timestamp:    [INTERN] does the scan mode include a timestamp
  * @access:            [DRIVER] buffer access functions associated with the
  *                     implementation.
        struct attribute_group                  *scan_el_attrs;
        long                                    *scan_mask;
        bool                                    scan_timestamp;
-       unsigned                                scan_index_timestamp;
        const struct iio_buffer_access_funcs    *access;
        struct list_head                        scan_el_dev_attr_list;
        struct attribute_group                  scan_el_group;
 
  * @masklength:                [INTERN] the length of the mask established from
  *                     channels
  * @active_scan_mask:  [INTERN] union of all scan masks requested by buffers
+ * @scan_index_timestamp:[INTERN] cache of the index to the timestamp
  * @trig:              [INTERN] current device trigger (buffer modes)
  * @pollfunc:          [DRIVER] function run on trigger being received
  * @channels:          [DRIVER] channel specification structure table
        const unsigned long             *available_scan_masks;
        unsigned                        masklength;
        const unsigned long             *active_scan_mask;
+       unsigned                        scan_index_timestamp;
        struct iio_trigger              *trig;
        struct iio_poll_func            *pollfunc;
 
 
                                goto error_cleanup_dynamic;
                        attrcount += ret;
                        if (channels[i].type == IIO_TIMESTAMP)
-                               buffer->scan_index_timestamp =
+                               indio_dev->scan_index_timestamp =
                                        channels[i].scan_index;
                }
                if (indio_dev->masklength && buffer->scan_mask == NULL) {
        }
        if (timestamp) {
                ch = iio_find_channel_from_si(indio_dev,
-                                             indio_dev
-                                             ->buffer->scan_index_timestamp);
+                                             indio_dev->scan_index_timestamp);
                length = ch->scan_type.storagebits / 8;
                bytes = ALIGN(bytes, length);
                bytes += length;
                        goto error_clear_mux_table;
                }
                ch = iio_find_channel_from_si(indio_dev,
-                       buffer->scan_index_timestamp);
+                       indio_dev->scan_index_timestamp);
                length = ch->scan_type.storagebits/8;
                if (out_loc % length)
                        out_loc += length - out_loc % length;