summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Cameron <jic23@cam.ac.uk>2011-12-05 21:37:10 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2011-12-08 11:36:10 -0800
commit5fb21c824e8ff22ae9361a789e8b845d72ae0557 (patch)
tree38f6d8285589fd6bbfd3576ef1d2a9ffc4bbcc40
parent94386ab0b4c5a4e15afae8542cb01caa2ff37594 (diff)
downloadop-kernel-dev-5fb21c824e8ff22ae9361a789e8b845d72ae0557.zip
op-kernel-dev-5fb21c824e8ff22ae9361a789e8b845d72ae0557.tar.gz
staging:iio:find iio channel from scan index util function
Useful for getting to the channel based on scan mask alone. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/iio/iio.h8
-rw-r--r--drivers/staging/iio/industrialio-core.c11
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h
index 4aed915..95d6318 100644
--- a/drivers/staging/iio/iio.h
+++ b/drivers/staging/iio/iio.h
@@ -323,6 +323,14 @@ struct iio_dev {
};
/**
+ * iio_find_channel_from_si() - get channel from its scan index
+ * @indio_dev: device
+ * @si: scan index to match
+ */
+const struct iio_chan_spec
+*iio_find_channel_from_si(struct iio_dev *indio_dev, int si);
+
+/**
* iio_device_register() - register a device with the IIO subsystem
* @indio_dev: Device structure filled by the device driver
**/
diff --git a/drivers/staging/iio/industrialio-core.c b/drivers/staging/iio/industrialio-core.c
index d8cd9e3..dbd1ce1 100644
--- a/drivers/staging/iio/industrialio-core.c
+++ b/drivers/staging/iio/industrialio-core.c
@@ -89,6 +89,17 @@ static const char * const iio_chan_info_postfix[] = {
= "filter_low_pass_3db_frequency",
};
+const struct iio_chan_spec
+*iio_find_channel_from_si(struct iio_dev *indio_dev, int si)
+{
+ int i;
+
+ for (i = 0; i < indio_dev->num_channels; i++)
+ if (indio_dev->channels[i].scan_index == si)
+ return &indio_dev->channels[i];
+ return NULL;
+}
+
/**
* struct iio_detected_event_list - list element for events that have occurred
* @list: linked list header
OpenPOWER on IntegriCloud