Commit 9f421096 authored by Artur Rojek's avatar Artur Rojek Committed by Jonathan Cameron
Browse files

iio: inkern: API for reading available iio channel attribute values



Extend the inkern API with a function for reading available
attribute values of iio channels.

Signed-off-by: default avatarArtur Rojek <contact@artur-rojek.eu>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 1c163f4c
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -733,6 +733,26 @@ static int iio_channel_read_avail(struct iio_channel *chan,
						 vals, type, length, info);
}

int iio_read_avail_channel_attribute(struct iio_channel *chan,
				     const int **vals, int *type, int *length,
				     enum iio_chan_info_enum attribute)
{
	int ret;

	mutex_lock(&chan->indio_dev->info_exist_lock);
	if (!chan->indio_dev->info) {
		ret = -ENODEV;
		goto err_unlock;
	}

	ret = iio_channel_read_avail(chan, vals, type, length, attribute);
err_unlock:
	mutex_unlock(&chan->indio_dev->info_exist_lock);

	return ret;
}
EXPORT_SYMBOL_GPL(iio_read_avail_channel_attribute);

int iio_read_avail_channel_raw(struct iio_channel *chan,
			       const int **vals, int *length)
{
+14 −0
Original line number Diff line number Diff line
@@ -290,6 +290,20 @@ int iio_read_max_channel_raw(struct iio_channel *chan, int *val);
int iio_read_avail_channel_raw(struct iio_channel *chan,
			       const int **vals, int *length);

/**
 * iio_read_avail_channel_attribute() - read available channel attribute values
 * @chan:		The channel being queried.
 * @vals:		Available values read back.
 * @type:		Type of values read back.
 * @length:		Number of entries in vals.
 * @attribute:		info attribute to be read back.
 *
 * Returns an error code, IIO_AVAIL_RANGE or IIO_AVAIL_LIST.
 */
int iio_read_avail_channel_attribute(struct iio_channel *chan,
				     const int **vals, int *type, int *length,
				     enum iio_chan_info_enum attribute);

/**
 * iio_get_channel_type() - get the type of a channel
 * @channel:		The channel being queried.