staging:iio:buffer add a cache of the timestamp scan index.

Basically avoids looking it up lots of times.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Jonathan Cameron 2011-12-05 21:37:11 +00:00 committed by Greg Kroah-Hartman
parent 5fb21c824e
commit beb80600b0
2 changed files with 4 additions and 0 deletions

View File

@ -106,6 +106,7 @@ struct iio_buffer {
int scan_count;
long *scan_mask;
bool scan_timestamp;
unsigned scan_index_timestamp;
const struct iio_buffer_access_funcs *access;
const struct iio_buffer_setup_ops *setup_ops;
struct list_head scan_el_dev_attr_list;

View File

@ -313,6 +313,9 @@ int iio_buffer_register(struct iio_dev *indio_dev,
if (ret < 0)
goto error_cleanup_dynamic;
attrcount += ret;
if (channels[i].type == IIO_TIMESTAMP)
buffer->scan_index_timestamp =
channels[i].scan_index;
}
if (indio_dev->masklength && buffer->scan_mask == NULL) {
buffer->scan_mask = kcalloc(BITS_TO_LONGS(indio_dev->masklength),