Lines Matching defs:iio
24 #include <linux/iio/buffer.h>
25 #include <linux/iio/iio.h>
26 #include <linux/iio/trigger.h>
27 #include <linux/iio/trigger_consumer.h>
28 #include <linux/iio/triggered_buffer.h>
29 #include <linux/iio/sysfs.h>
319 struct iio_dev *iio = dev_to_iio_dev(dev);
320 struct mxs_lradc_adc *adc = iio_priv(iio);
386 struct iio_dev *iio = data;
387 struct mxs_lradc_adc *adc = iio_priv(iio);
395 if (iio_buffer_enabled(iio)) {
398 iio_trigger_poll(iio->trig);
416 struct iio_dev *iio = pf->indio_dev;
417 struct mxs_lradc_adc *adc = iio_priv(iio);
422 for_each_set_bit(i, iio->active_scan_mask, LRADC_MAX_TOTAL_CHANS) {
430 iio_push_to_buffers_with_timestamp(iio, adc->buffer, pf->timestamp);
432 iio_trigger_notify_done(iio->trig);
439 struct iio_dev *iio = iio_trigger_get_drvdata(trig);
440 struct mxs_lradc_adc *adc = iio_priv(iio);
452 static int mxs_lradc_adc_trigger_init(struct iio_dev *iio)
456 struct mxs_lradc_adc *adc = iio_priv(iio);
458 trig = devm_iio_trigger_alloc(&iio->dev, "%s-dev%i", iio->name,
459 iio_device_id(iio));
464 iio_trigger_set_drvdata(trig, iio);
476 static void mxs_lradc_adc_trigger_remove(struct iio_dev *iio)
478 struct mxs_lradc_adc *adc = iio_priv(iio);
483 static int mxs_lradc_adc_buffer_preenable(struct iio_dev *iio)
485 struct mxs_lradc_adc *adc = iio_priv(iio);
501 for_each_set_bit(chan, iio->active_scan_mask, LRADC_MAX_TOTAL_CHANS) {
521 static int mxs_lradc_adc_buffer_postdisable(struct iio_dev *iio)
523 struct mxs_lradc_adc *adc = iio_priv(iio);
538 static bool mxs_lradc_adc_validate_scan_mask(struct iio_dev *iio,
541 struct mxs_lradc_adc *adc = iio_priv(iio);
693 struct iio_dev *iio;
700 iio = devm_iio_device_alloc(dev, sizeof(*adc));
701 if (!iio) {
706 adc = iio_priv(iio);
721 platform_set_drvdata(pdev, iio);
723 iio->name = pdev->name;
724 iio->dev.of_node = dev->parent->of_node;
725 iio->info = &mxs_lradc_adc_iio_info;
726 iio->modes = INDIO_DIRECT_MODE;
727 iio->masklength = LRADC_MAX_TOTAL_CHANS;
730 iio->channels = mx23_lradc_chan_spec;
731 iio->num_channels = ARRAY_SIZE(mx23_lradc_chan_spec);
735 iio->channels = mx28_lradc_chan_spec;
736 iio->num_channels = ARRAY_SIZE(mx28_lradc_chan_spec);
753 0, irq_name[i], iio);
758 ret = mxs_lradc_adc_trigger_init(iio);
762 ret = iio_triggered_buffer_setup(iio, &iio_pollfunc_store_time,
794 ret = iio_device_register(iio);
804 iio_triggered_buffer_cleanup(iio);
806 mxs_lradc_adc_trigger_remove(iio);
812 struct iio_dev *iio = platform_get_drvdata(pdev);
813 struct mxs_lradc_adc *adc = iio_priv(iio);
815 iio_device_unregister(iio);
817 iio_triggered_buffer_cleanup(iio);
818 mxs_lradc_adc_trigger_remove(iio);