diff options
Diffstat (limited to 'drivers/iio/inkern.c')
-rw-r--r-- | drivers/iio/inkern.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c index 06ca3f7fcc44..f19dbde3c945 100644 --- a/drivers/iio/inkern.c +++ b/drivers/iio/inkern.c | |||
@@ -733,6 +733,26 @@ static int iio_channel_read_avail(struct iio_channel *chan, | |||
733 | vals, type, length, info); | 733 | vals, type, length, info); |
734 | } | 734 | } |
735 | 735 | ||
736 | int iio_read_avail_channel_attribute(struct iio_channel *chan, | ||
737 | const int **vals, int *type, int *length, | ||
738 | enum iio_chan_info_enum attribute) | ||
739 | { | ||
740 | int ret; | ||
741 | |||
742 | mutex_lock(&chan->indio_dev->info_exist_lock); | ||
743 | if (!chan->indio_dev->info) { | ||
744 | ret = -ENODEV; | ||
745 | goto err_unlock; | ||
746 | } | ||
747 | |||
748 | ret = iio_channel_read_avail(chan, vals, type, length, attribute); | ||
749 | err_unlock: | ||
750 | mutex_unlock(&chan->indio_dev->info_exist_lock); | ||
751 | |||
752 | return ret; | ||
753 | } | ||
754 | EXPORT_SYMBOL_GPL(iio_read_avail_channel_attribute); | ||
755 | |||
736 | int iio_read_avail_channel_raw(struct iio_channel *chan, | 756 | int iio_read_avail_channel_raw(struct iio_channel *chan, |
737 | const int **vals, int *length) | 757 | const int **vals, int *length) |
738 | { | 758 | { |