Lines Matching refs:chan

80 	const struct iio_chan_spec *chan = NULL;
85 chan = &indio_dev->channels[i];
88 return chan;
188 struct iio_channel *chan = NULL;
203 chan = of_iio_channel_get(np, index);
204 if (!IS_ERR(chan) || PTR_ERR(chan) == -EPROBE_DEFER)
222 return chan;
462 struct iio_channel *chan = &channels[0];
464 while (chan->indio_dev) {
465 iio_device_put(chan->indio_dev);
466 chan++;
500 static int iio_channel_read(struct iio_channel *chan, int *val, int *val2,
511 if (!iio_channel_has_info(chan->channel, info))
514 if (chan->indio_dev->info->read_raw_multi) {
515 ret = chan->indio_dev->info->read_raw_multi(chan->indio_dev,
516 chan->channel, INDIO_MAX_RAW_ELEMENTS,
521 ret = chan->indio_dev->info->read_raw(chan->indio_dev,
522 chan->channel, val, val2, info);
527 int iio_read_channel_raw(struct iio_channel *chan, int *val)
531 mutex_lock(&chan->indio_dev->info_exist_lock);
532 if (chan->indio_dev->info == NULL) {
537 ret = iio_channel_read(chan, val, NULL, IIO_CHAN_INFO_RAW);
539 mutex_unlock(&chan->indio_dev->info_exist_lock);
545 int iio_read_channel_average_raw(struct iio_channel *chan, int *val)
549 mutex_lock(&chan->indio_dev->info_exist_lock);
550 if (chan->indio_dev->info == NULL) {
555 ret = iio_channel_read(chan, val, NULL, IIO_CHAN_INFO_AVERAGE_RAW);
557 mutex_unlock(&chan->indio_dev->info_exist_lock);
563 static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan,
570 offset_type = iio_channel_read(chan, &offset_val, &offset_val2,
596 scale_type = iio_channel_read(chan, &scale_val, &scale_val2,
641 int iio_convert_raw_to_processed(struct iio_channel *chan, int raw,
646 mutex_lock(&chan->indio_dev->info_exist_lock);
647 if (chan->indio_dev->info == NULL) {
652 ret = iio_convert_raw_to_processed_unlocked(chan, raw, processed,
655 mutex_unlock(&chan->indio_dev->info_exist_lock);
661 int iio_read_channel_attribute(struct iio_channel *chan, int *val, int *val2,
666 mutex_lock(&chan->indio_dev->info_exist_lock);
667 if (chan->indio_dev->info == NULL) {
672 ret = iio_channel_read(chan, val, val2, attribute);
674 mutex_unlock(&chan->indio_dev->info_exist_lock);
680 int iio_read_channel_offset(struct iio_channel *chan, int *val, int *val2)
682 return iio_read_channel_attribute(chan, val, val2, IIO_CHAN_INFO_OFFSET);
686 int iio_read_channel_processed(struct iio_channel *chan, int *val)
690 mutex_lock(&chan->indio_dev->info_exist_lock);
691 if (chan->indio_dev->info == NULL) {
696 if (iio_channel_has_info(chan->channel, IIO_CHAN_INFO_PROCESSED)) {
697 ret = iio_channel_read(chan, val, NULL,
700 ret = iio_channel_read(chan, val, NULL, IIO_CHAN_INFO_RAW);
703 ret = iio_convert_raw_to_processed_unlocked(chan, *val, val, 1);
707 mutex_unlock(&chan->indio_dev->info_exist_lock);
713 int iio_read_channel_scale(struct iio_channel *chan, int *val, int *val2)
715 return iio_read_channel_attribute(chan, val, val2, IIO_CHAN_INFO_SCALE);
719 static int iio_channel_read_avail(struct iio_channel *chan,
723 if (!iio_channel_has_available(chan->channel, info))
726 return chan->indio_dev->info->read_avail(chan->indio_dev, chan->channel,
730 int iio_read_avail_channel_attribute(struct iio_channel *chan,
736 mutex_lock(&chan->indio_dev->info_exist_lock);
737 if (!chan->indio_dev->info) {
742 ret = iio_channel_read_avail(chan, vals, type, length, attribute);
744 mutex_unlock(&chan->indio_dev->info_exist_lock);
750 int iio_read_avail_channel_raw(struct iio_channel *chan,
756 ret = iio_read_avail_channel_attribute(chan, vals, &type, length,
767 static int iio_channel_read_max(struct iio_channel *chan,
779 ret = iio_channel_read_avail(chan, &vals, type, &length, info);
814 int iio_read_max_channel_raw(struct iio_channel *chan, int *val)
819 mutex_lock(&chan->indio_dev->info_exist_lock);
820 if (!chan->indio_dev->info) {
825 ret = iio_channel_read_max(chan, val, NULL, &type, IIO_CHAN_INFO_RAW);
827 mutex_unlock(&chan->indio_dev->info_exist_lock);
833 int iio_get_channel_type(struct iio_channel *chan, enum iio_chan_type *type)
838 mutex_lock(&chan->indio_dev->info_exist_lock);
839 if (chan->indio_dev->info == NULL) {
844 *type = chan->channel->type;
846 mutex_unlock(&chan->indio_dev->info_exist_lock);
852 static int iio_channel_write(struct iio_channel *chan, int val, int val2,
855 return chan->indio_dev->info->write_raw(chan->indio_dev,
856 chan->channel, val, val2, info);
859 int iio_write_channel_attribute(struct iio_channel *chan, int val, int val2,
864 mutex_lock(&chan->indio_dev->info_exist_lock);
865 if (chan->indio_dev->info == NULL) {
870 ret = iio_channel_write(chan, val, val2, attribute);
872 mutex_unlock(&chan->indio_dev->info_exist_lock);
878 int iio_write_channel_raw(struct iio_channel *chan, int val)
880 return iio_write_channel_attribute(chan, val, 0, IIO_CHAN_INFO_RAW);
884 unsigned int iio_get_channel_ext_info_count(struct iio_channel *chan)
889 if (!chan->channel->ext_info)
892 for (ext_info = chan->channel->ext_info; ext_info->name; ext_info++)
900 const struct iio_channel *chan,
905 if (!chan->channel->ext_info)
908 for (ext_info = chan->channel->ext_info; ext_info->name; ++ext_info) {
916 ssize_t iio_read_channel_ext_info(struct iio_channel *chan,
921 ext_info = iio_lookup_ext_info(chan, attr);
925 return ext_info->read(chan->indio_dev, ext_info->private,
926 chan->channel, buf);
930 ssize_t iio_write_channel_ext_info(struct iio_channel *chan, const char *attr,
935 ext_info = iio_lookup_ext_info(chan, attr);
939 return ext_info->write(chan->indio_dev, ext_info->private,
940 chan->channel, buf, len);