Lines Matching refs:chan
85 const struct iio_chan_spec *chan = NULL; in iio_chan_spec_from_name() local
90 chan = &indio_dev->channels[i]; in iio_chan_spec_from_name()
93 return chan; in iio_chan_spec_from_name()
191 struct iio_channel *chan = NULL; in of_iio_channel_get_by_name() local
206 chan = of_iio_channel_get(np, index); in of_iio_channel_get_by_name()
207 if (!IS_ERR(chan) || PTR_ERR(chan) == -EPROBE_DEFER) in of_iio_channel_get_by_name()
225 return chan; in of_iio_channel_get_by_name()
436 struct iio_channel *chan = &channels[0]; in iio_channel_release_all() local
438 while (chan->indio_dev) { in iio_channel_release_all()
439 iio_device_put(chan->indio_dev); in iio_channel_release_all()
440 chan++; in iio_channel_release_all()
446 static int iio_channel_read(struct iio_channel *chan, int *val, int *val2, in iio_channel_read() argument
457 if(!iio_channel_has_info(chan->channel, info)) in iio_channel_read()
460 if (chan->indio_dev->info->read_raw_multi) { in iio_channel_read()
461 ret = chan->indio_dev->info->read_raw_multi(chan->indio_dev, in iio_channel_read()
462 chan->channel, INDIO_MAX_RAW_ELEMENTS, in iio_channel_read()
467 ret = chan->indio_dev->info->read_raw(chan->indio_dev, in iio_channel_read()
468 chan->channel, val, val2, info); in iio_channel_read()
473 int iio_read_channel_raw(struct iio_channel *chan, int *val) in iio_read_channel_raw() argument
477 mutex_lock(&chan->indio_dev->info_exist_lock); in iio_read_channel_raw()
478 if (chan->indio_dev->info == NULL) { in iio_read_channel_raw()
483 ret = iio_channel_read(chan, val, NULL, IIO_CHAN_INFO_RAW); in iio_read_channel_raw()
485 mutex_unlock(&chan->indio_dev->info_exist_lock); in iio_read_channel_raw()
491 int iio_read_channel_average_raw(struct iio_channel *chan, int *val) in iio_read_channel_average_raw() argument
495 mutex_lock(&chan->indio_dev->info_exist_lock); in iio_read_channel_average_raw()
496 if (chan->indio_dev->info == NULL) { in iio_read_channel_average_raw()
501 ret = iio_channel_read(chan, val, NULL, IIO_CHAN_INFO_AVERAGE_RAW); in iio_read_channel_average_raw()
503 mutex_unlock(&chan->indio_dev->info_exist_lock); in iio_read_channel_average_raw()
509 static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan, in iio_convert_raw_to_processed_unlocked() argument
516 ret = iio_channel_read(chan, &offset, NULL, IIO_CHAN_INFO_OFFSET); in iio_convert_raw_to_processed_unlocked()
520 scale_type = iio_channel_read(chan, &scale_val, &scale_val2, in iio_convert_raw_to_processed_unlocked()
559 int iio_convert_raw_to_processed(struct iio_channel *chan, int raw, in iio_convert_raw_to_processed() argument
564 mutex_lock(&chan->indio_dev->info_exist_lock); in iio_convert_raw_to_processed()
565 if (chan->indio_dev->info == NULL) { in iio_convert_raw_to_processed()
570 ret = iio_convert_raw_to_processed_unlocked(chan, raw, processed, in iio_convert_raw_to_processed()
573 mutex_unlock(&chan->indio_dev->info_exist_lock); in iio_convert_raw_to_processed()
579 int iio_read_channel_processed(struct iio_channel *chan, int *val) in iio_read_channel_processed() argument
583 mutex_lock(&chan->indio_dev->info_exist_lock); in iio_read_channel_processed()
584 if (chan->indio_dev->info == NULL) { in iio_read_channel_processed()
589 if (iio_channel_has_info(chan->channel, IIO_CHAN_INFO_PROCESSED)) { in iio_read_channel_processed()
590 ret = iio_channel_read(chan, val, NULL, in iio_read_channel_processed()
593 ret = iio_channel_read(chan, val, NULL, IIO_CHAN_INFO_RAW); in iio_read_channel_processed()
596 ret = iio_convert_raw_to_processed_unlocked(chan, *val, val, 1); in iio_read_channel_processed()
600 mutex_unlock(&chan->indio_dev->info_exist_lock); in iio_read_channel_processed()
606 int iio_read_channel_scale(struct iio_channel *chan, int *val, int *val2) in iio_read_channel_scale() argument
610 mutex_lock(&chan->indio_dev->info_exist_lock); in iio_read_channel_scale()
611 if (chan->indio_dev->info == NULL) { in iio_read_channel_scale()
616 ret = iio_channel_read(chan, val, val2, IIO_CHAN_INFO_SCALE); in iio_read_channel_scale()
618 mutex_unlock(&chan->indio_dev->info_exist_lock); in iio_read_channel_scale()
624 int iio_get_channel_type(struct iio_channel *chan, enum iio_chan_type *type) in iio_get_channel_type() argument
629 mutex_lock(&chan->indio_dev->info_exist_lock); in iio_get_channel_type()
630 if (chan->indio_dev->info == NULL) { in iio_get_channel_type()
635 *type = chan->channel->type; in iio_get_channel_type()
637 mutex_unlock(&chan->indio_dev->info_exist_lock); in iio_get_channel_type()
643 static int iio_channel_write(struct iio_channel *chan, int val, int val2, in iio_channel_write() argument
646 return chan->indio_dev->info->write_raw(chan->indio_dev, in iio_channel_write()
647 chan->channel, val, val2, info); in iio_channel_write()
650 int iio_write_channel_raw(struct iio_channel *chan, int val) in iio_write_channel_raw() argument
654 mutex_lock(&chan->indio_dev->info_exist_lock); in iio_write_channel_raw()
655 if (chan->indio_dev->info == NULL) { in iio_write_channel_raw()
660 ret = iio_channel_write(chan, val, 0, IIO_CHAN_INFO_RAW); in iio_write_channel_raw()
662 mutex_unlock(&chan->indio_dev->info_exist_lock); in iio_write_channel_raw()