diff options
author | Jonathan Cameron <jic23@cam.ac.uk> | 2011-12-05 21:37:10 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-12-08 11:36:10 -0800 |
commit | 5fb21c824e8ff22ae9361a789e8b845d72ae0557 (patch) | |
tree | 38f6d8285589fd6bbfd3576ef1d2a9ffc4bbcc40 | |
parent | 94386ab0b4c5a4e15afae8542cb01caa2ff37594 (diff) |
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.h | 8 | ||||
-rw-r--r-- | drivers/staging/iio/industrialio-core.c | 11 |
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h index 4aed915e906..95d6318a14b 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 d8cd9e3c07a..dbd1ce1ce7e 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 |