Lines Matching refs: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>
317 struct iio_dev *iio = dev_to_iio_dev(dev);
318 struct mxs_lradc_adc *adc = iio_priv(iio);
384 struct iio_dev *iio = data;
385 struct mxs_lradc_adc *adc = iio_priv(iio);
393 if (iio_buffer_enabled(iio)) {
396 iio_trigger_poll(iio->trig);
414 struct iio_dev *iio = pf->indio_dev;
415 struct mxs_lradc_adc *adc = iio_priv(iio);
420 for_each_set_bit(i, iio->active_scan_mask, LRADC_MAX_TOTAL_CHANS) {
428 iio_push_to_buffers_with_ts(iio, adc->buffer, sizeof(adc->buffer),
431 iio_trigger_notify_done(iio->trig);
438 struct iio_dev *iio = iio_trigger_get_drvdata(trig);
439 struct mxs_lradc_adc *adc = iio_priv(iio);
451 static int mxs_lradc_adc_trigger_init(struct iio_dev *iio)
455 struct mxs_lradc_adc *adc = iio_priv(iio);
457 trig = devm_iio_trigger_alloc(&iio->dev, "%s-dev%i", iio->name,
458 iio_device_id(iio));
463 iio_trigger_set_drvdata(trig, iio);
475 static void mxs_lradc_adc_trigger_remove(struct iio_dev *iio)
477 struct mxs_lradc_adc *adc = iio_priv(iio);
482 static int mxs_lradc_adc_buffer_preenable(struct iio_dev *iio)
484 struct mxs_lradc_adc *adc = iio_priv(iio);
500 for_each_set_bit(chan, iio->active_scan_mask, LRADC_MAX_TOTAL_CHANS) {
520 static int mxs_lradc_adc_buffer_postdisable(struct iio_dev *iio)
522 struct mxs_lradc_adc *adc = iio_priv(iio);
537 static bool mxs_lradc_adc_validate_scan_mask(struct iio_dev *iio,
540 struct mxs_lradc_adc *adc = iio_priv(iio);
692 struct iio_dev *iio;
699 iio = devm_iio_device_alloc(dev, sizeof(*adc));
700 if (!iio) {
705 adc = iio_priv(iio);
720 platform_set_drvdata(pdev, iio);
722 iio->name = pdev->name;
723 iio->dev.of_node = dev->parent->of_node;
724 iio->info = &mxs_lradc_adc_iio_info;
725 iio->modes = INDIO_DIRECT_MODE;
728 iio->channels = mx23_lradc_chan_spec;
729 iio->num_channels = ARRAY_SIZE(mx23_lradc_chan_spec);
733 iio->channels = mx28_lradc_chan_spec;
734 iio->num_channels = ARRAY_SIZE(mx28_lradc_chan_spec);
751 0, irq_name[i], iio);
756 ret = mxs_lradc_adc_trigger_init(iio);
760 ret = iio_triggered_buffer_setup(iio, &iio_pollfunc_store_time,
792 ret = iio_device_register(iio);
802 iio_triggered_buffer_cleanup(iio);
804 mxs_lradc_adc_trigger_remove(iio);
810 struct iio_dev *iio = platform_get_drvdata(pdev);
811 struct mxs_lradc_adc *adc = iio_priv(iio);
813 iio_device_unregister(iio);
815 iio_triggered_buffer_cleanup(iio);
816 mxs_lradc_adc_trigger_remove(iio);