diff options
author | Jonathan Cameron | 2011-12-05 22:37:11 +0100 |
---|---|---|
committer | Greg Kroah-Hartman | 2011-12-08 20:36:11 +0100 |
commit | beb80600b017ff4c407e9e72eb7f9a884fed4210 (patch) | |
tree | 106f3bab1293ab3e6a759c6935340ca443fb33a7 /drivers/staging/iio | |
parent | staging:iio:find iio channel from scan index util function (diff) | |
download | kernel-qcow2-linux-beb80600b017ff4c407e9e72eb7f9a884fed4210.tar.gz kernel-qcow2-linux-beb80600b017ff4c407e9e72eb7f9a884fed4210.tar.xz kernel-qcow2-linux-beb80600b017ff4c407e9e72eb7f9a884fed4210.zip |
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>
Diffstat (limited to 'drivers/staging/iio')
-rw-r--r-- | drivers/staging/iio/buffer.h | 1 | ||||
-rw-r--r-- | drivers/staging/iio/industrialio-buffer.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/staging/iio/buffer.h b/drivers/staging/iio/buffer.h index 9de581e2d764..4b8f6190a5b0 100644 --- a/drivers/staging/iio/buffer.h +++ b/drivers/staging/iio/buffer.h @@ -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; diff --git a/drivers/staging/iio/industrialio-buffer.c b/drivers/staging/iio/industrialio-buffer.c index 8c5598081b60..b2cf3e33e39b 100644 --- a/drivers/staging/iio/industrialio-buffer.c +++ b/drivers/staging/iio/industrialio-buffer.c @@ -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), |