Lines Matching refs:indio_dev
280 struct iio_dev *indio_dev = devid; in xadc_zynq_threaded_interrupt_handler() local
281 struct xadc *xadc = iio_priv(indio_dev); in xadc_zynq_threaded_interrupt_handler()
289 xadc_handle_events(indio_dev, xadc_zynq_transform_alarm(alarm)); in xadc_zynq_threaded_interrupt_handler()
300 struct iio_dev *indio_dev = devid; in xadc_zynq_interrupt_handler() local
301 struct xadc *xadc = iio_priv(indio_dev); in xadc_zynq_interrupt_handler()
342 struct iio_dev *indio_dev, int irq) in xadc_zynq_setup() argument
344 struct xadc *xadc = iio_priv(indio_dev); in xadc_zynq_setup()
464 struct iio_dev *indio_dev, int irq) in xadc_axi_setup() argument
466 struct xadc *xadc = iio_priv(indio_dev); in xadc_axi_setup()
476 struct iio_dev *indio_dev = devid; in xadc_axi_interrupt_handler() local
477 struct xadc *xadc = iio_priv(indio_dev); in xadc_axi_interrupt_handler()
501 xadc_handle_events(indio_dev, events); in xadc_axi_interrupt_handler()
576 static int xadc_update_scan_mode(struct iio_dev *indio_dev, in xadc_update_scan_mode() argument
579 struct xadc *xadc = iio_priv(indio_dev); in xadc_update_scan_mode()
582 n = bitmap_weight(mask, indio_dev->masklength); in xadc_update_scan_mode()
623 struct iio_dev *indio_dev = pf->indio_dev; in xadc_trigger_handler() local
624 struct xadc *xadc = iio_priv(indio_dev); in xadc_trigger_handler()
632 for_each_set_bit(i, indio_dev->active_scan_mask, in xadc_trigger_handler()
633 indio_dev->masklength) { in xadc_trigger_handler()
639 iio_push_to_buffers(indio_dev, xadc->data); in xadc_trigger_handler()
642 iio_trigger_notify_done(indio_dev->trig); in xadc_trigger_handler()
698 static struct iio_trigger *xadc_alloc_trigger(struct iio_dev *indio_dev, in xadc_alloc_trigger() argument
704 trig = iio_trigger_alloc("%s%d-%s", indio_dev->name, in xadc_alloc_trigger()
705 indio_dev->id, name); in xadc_alloc_trigger()
709 trig->dev.parent = indio_dev->dev.parent; in xadc_alloc_trigger()
711 iio_trigger_set_drvdata(trig, iio_priv(indio_dev)); in xadc_alloc_trigger()
756 static int xadc_postdisable(struct iio_dev *indio_dev) in xadc_postdisable() argument
758 struct xadc *xadc = iio_priv(indio_dev); in xadc_postdisable()
764 for (i = 0; i < indio_dev->num_channels; i++) in xadc_postdisable()
765 scan_mask |= BIT(indio_dev->channels[i].scan_index); in xadc_postdisable()
784 static int xadc_preenable(struct iio_dev *indio_dev) in xadc_preenable() argument
786 struct xadc *xadc = iio_priv(indio_dev); in xadc_preenable()
796 scan_mask = *indio_dev->active_scan_mask; in xadc_preenable()
818 xadc_postdisable(indio_dev); in xadc_preenable()
829 static int xadc_read_raw(struct iio_dev *indio_dev, in xadc_read_raw() argument
832 struct xadc *xadc = iio_priv(indio_dev); in xadc_read_raw()
839 if (iio_buffer_enabled(indio_dev)) in xadc_read_raw()
901 static int xadc_write_raw(struct iio_dev *indio_dev, in xadc_write_raw() argument
904 struct xadc *xadc = iio_priv(indio_dev); in xadc_write_raw()
1056 static int xadc_parse_dt(struct iio_dev *indio_dev, struct device_node *np, in xadc_parse_dt() argument
1059 struct xadc *xadc = iio_priv(indio_dev); in xadc_parse_dt()
1138 indio_dev->num_channels = num_channels; in xadc_parse_dt()
1139 indio_dev->channels = krealloc(channels, sizeof(*channels) * in xadc_parse_dt()
1142 if (!indio_dev->channels) in xadc_parse_dt()
1143 indio_dev->channels = channels; in xadc_parse_dt()
1151 struct iio_dev *indio_dev; in xadc_probe() local
1171 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*xadc)); in xadc_probe()
1172 if (!indio_dev) in xadc_probe()
1175 xadc = iio_priv(indio_dev); in xadc_probe()
1187 indio_dev->dev.parent = &pdev->dev; in xadc_probe()
1188 indio_dev->dev.of_node = pdev->dev.of_node; in xadc_probe()
1189 indio_dev->name = "xadc"; in xadc_probe()
1190 indio_dev->modes = INDIO_DIRECT_MODE; in xadc_probe()
1191 indio_dev->info = &xadc_info; in xadc_probe()
1193 ret = xadc_parse_dt(indio_dev, pdev->dev.of_node, &conf0); in xadc_probe()
1198 ret = iio_triggered_buffer_setup(indio_dev, in xadc_probe()
1204 xadc->convst_trigger = xadc_alloc_trigger(indio_dev, "convst"); in xadc_probe()
1209 xadc->samplerate_trigger = xadc_alloc_trigger(indio_dev, in xadc_probe()
1224 ret = xadc->ops->setup(pdev, indio_dev, irq); in xadc_probe()
1230 0, dev_name(&pdev->dev), indio_dev); in xadc_probe()
1243 for (i = 0; i < indio_dev->num_channels; i++) { in xadc_probe()
1244 if (indio_dev->channels[i].scan_type.sign == 's') in xadc_probe()
1245 bipolar_mask |= BIT(indio_dev->channels[i].scan_index); in xadc_probe()
1275 xadc_postdisable(indio_dev); in xadc_probe()
1277 ret = iio_device_register(indio_dev); in xadc_probe()
1281 platform_set_drvdata(pdev, indio_dev); in xadc_probe()
1286 free_irq(irq, indio_dev); in xadc_probe()
1295 iio_triggered_buffer_cleanup(indio_dev); in xadc_probe()
1299 kfree(indio_dev->channels); in xadc_probe()
1306 struct iio_dev *indio_dev = platform_get_drvdata(pdev); in xadc_remove() local
1307 struct xadc *xadc = iio_priv(indio_dev); in xadc_remove()
1310 iio_device_unregister(indio_dev); in xadc_remove()
1314 iio_triggered_buffer_cleanup(indio_dev); in xadc_remove()
1316 free_irq(irq, indio_dev); in xadc_remove()
1320 kfree(indio_dev->channels); in xadc_remove()