Lines Matching refs:indio_dev
110 static u16 cc10001_adc_poll_done(struct iio_dev *indio_dev, in cc10001_adc_poll_done() argument
114 struct cc10001_adc_device *adc_dev = iio_priv(indio_dev); in cc10001_adc_poll_done()
143 struct iio_dev *indio_dev; in cc10001_adc_trigger_h() local
151 indio_dev = pf->indio_dev; in cc10001_adc_trigger_h()
152 adc_dev = iio_priv(indio_dev); in cc10001_adc_trigger_h()
165 for_each_set_bit(scan_idx, indio_dev->active_scan_mask, in cc10001_adc_trigger_h()
166 indio_dev->masklength) { in cc10001_adc_trigger_h()
168 channel = indio_dev->channels[scan_idx].channel; in cc10001_adc_trigger_h()
171 data[i] = cc10001_adc_poll_done(indio_dev, channel, delay_ns); in cc10001_adc_trigger_h()
173 dev_warn(&indio_dev->dev, in cc10001_adc_trigger_h()
188 iio_push_to_buffers_with_timestamp(indio_dev, data, in cc10001_adc_trigger_h()
190 iio_trigger_notify_done(indio_dev->trig); in cc10001_adc_trigger_h()
195 static u16 cc10001_adc_read_raw_voltage(struct iio_dev *indio_dev, in cc10001_adc_read_raw_voltage() argument
198 struct cc10001_adc_device *adc_dev = iio_priv(indio_dev); in cc10001_adc_read_raw_voltage()
210 val = cc10001_adc_poll_done(indio_dev, chan->channel, delay_ns); in cc10001_adc_read_raw_voltage()
218 static int cc10001_adc_read_raw(struct iio_dev *indio_dev, in cc10001_adc_read_raw() argument
222 struct cc10001_adc_device *adc_dev = iio_priv(indio_dev); in cc10001_adc_read_raw()
227 if (iio_buffer_enabled(indio_dev)) in cc10001_adc_read_raw()
230 *val = cc10001_adc_read_raw_voltage(indio_dev, chan); in cc10001_adc_read_raw()
251 static int cc10001_update_scan_mode(struct iio_dev *indio_dev, in cc10001_update_scan_mode() argument
254 struct cc10001_adc_device *adc_dev = iio_priv(indio_dev); in cc10001_update_scan_mode()
257 adc_dev->buf = kmalloc(indio_dev->scan_bytes, GFP_KERNEL); in cc10001_update_scan_mode()
270 static int cc10001_adc_channel_init(struct iio_dev *indio_dev, in cc10001_adc_channel_init() argument
276 indio_dev->num_channels = bitmap_weight(&channel_map, in cc10001_adc_channel_init()
279 chan_array = devm_kcalloc(&indio_dev->dev, indio_dev->num_channels, in cc10001_adc_channel_init()
308 indio_dev->channels = chan_array; in cc10001_adc_channel_init()
319 struct iio_dev *indio_dev; in cc10001_adc_probe() local
323 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*adc_dev)); in cc10001_adc_probe()
324 if (indio_dev == NULL) in cc10001_adc_probe()
327 adc_dev = iio_priv(indio_dev); in cc10001_adc_probe()
343 indio_dev->dev.parent = &pdev->dev; in cc10001_adc_probe()
344 indio_dev->name = dev_name(&pdev->dev); in cc10001_adc_probe()
345 indio_dev->info = &cc10001_adc_info; in cc10001_adc_probe()
346 indio_dev->modes = INDIO_DIRECT_MODE; in cc10001_adc_probe()
387 ret = cc10001_adc_channel_init(indio_dev, channel_map); in cc10001_adc_probe()
393 ret = iio_triggered_buffer_setup(indio_dev, NULL, in cc10001_adc_probe()
398 ret = iio_device_register(indio_dev); in cc10001_adc_probe()
402 platform_set_drvdata(pdev, indio_dev); in cc10001_adc_probe()
407 iio_triggered_buffer_cleanup(indio_dev); in cc10001_adc_probe()
417 struct iio_dev *indio_dev = platform_get_drvdata(pdev); in cc10001_adc_remove() local
418 struct cc10001_adc_device *adc_dev = iio_priv(indio_dev); in cc10001_adc_remove()
421 iio_device_unregister(indio_dev); in cc10001_adc_remove()
422 iio_triggered_buffer_cleanup(indio_dev); in cc10001_adc_remove()