Lines Matching refs:indio_dev
148 static int adis16136_debugfs_init(struct iio_dev *indio_dev) in adis16136_debugfs_init() argument
150 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_debugfs_init()
153 indio_dev->debugfs_dentry, adis16136, in adis16136_debugfs_init()
156 indio_dev->debugfs_dentry, in adis16136_debugfs_init()
159 indio_dev->debugfs_dentry, in adis16136_debugfs_init()
167 static int adis16136_debugfs_init(struct iio_dev *indio_dev) in adis16136_debugfs_init() argument
206 struct iio_dev *indio_dev = dev_to_iio_dev(dev); in adis16136_write_frequency() local
207 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_write_frequency()
226 struct iio_dev *indio_dev = dev_to_iio_dev(dev); in adis16136_read_frequency() local
227 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_read_frequency()
253 static int adis16136_set_filter(struct iio_dev *indio_dev, int val) in adis16136_set_filter() argument
255 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_set_filter()
271 static int adis16136_get_filter(struct iio_dev *indio_dev, int *val) in adis16136_get_filter() argument
273 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_get_filter()
278 mutex_lock(&indio_dev->mlock); in adis16136_get_filter()
291 mutex_unlock(&indio_dev->mlock); in adis16136_get_filter()
296 static int adis16136_read_raw(struct iio_dev *indio_dev, in adis16136_read_raw() argument
299 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_read_raw()
305 return adis_single_conversion(indio_dev, chan, 0, val); in adis16136_read_raw()
329 return adis16136_get_filter(indio_dev, val); in adis16136_read_raw()
335 static int adis16136_write_raw(struct iio_dev *indio_dev, in adis16136_write_raw() argument
338 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_write_raw()
345 return adis16136_set_filter(indio_dev, val); in adis16136_write_raw()
411 static int adis16136_stop_device(struct iio_dev *indio_dev) in adis16136_stop_device() argument
413 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_stop_device()
418 dev_err(&indio_dev->dev, in adis16136_stop_device()
424 static int adis16136_initial_setup(struct iio_dev *indio_dev) in adis16136_initial_setup() argument
426 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_initial_setup()
440 ret = sscanf(indio_dev->name, "adis%u\n", &device_id); in adis16136_initial_setup()
445 dev_warn(&indio_dev->dev, "Device ID(%u) and product ID(%u) do not match.", in adis16136_initial_setup()
506 struct iio_dev *indio_dev; in adis16136_probe() local
509 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adis16136)); in adis16136_probe()
510 if (indio_dev == NULL) in adis16136_probe()
513 spi_set_drvdata(spi, indio_dev); in adis16136_probe()
515 adis16136 = iio_priv(indio_dev); in adis16136_probe()
518 indio_dev->dev.parent = &spi->dev; in adis16136_probe()
519 indio_dev->name = spi_get_device_id(spi)->name; in adis16136_probe()
520 indio_dev->channels = adis16136_channels; in adis16136_probe()
521 indio_dev->num_channels = ARRAY_SIZE(adis16136_channels); in adis16136_probe()
522 indio_dev->info = &adis16136_info; in adis16136_probe()
523 indio_dev->modes = INDIO_DIRECT_MODE; in adis16136_probe()
525 ret = adis_init(&adis16136->adis, indio_dev, spi, &adis16136_data); in adis16136_probe()
529 ret = adis_setup_buffer_and_trigger(&adis16136->adis, indio_dev, NULL); in adis16136_probe()
533 ret = adis16136_initial_setup(indio_dev); in adis16136_probe()
537 ret = iio_device_register(indio_dev); in adis16136_probe()
541 adis16136_debugfs_init(indio_dev); in adis16136_probe()
546 adis16136_stop_device(indio_dev); in adis16136_probe()
548 adis_cleanup_buffer_and_trigger(&adis16136->adis, indio_dev); in adis16136_probe()
554 struct iio_dev *indio_dev = spi_get_drvdata(spi); in adis16136_remove() local
555 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_remove()
557 iio_device_unregister(indio_dev); in adis16136_remove()
558 adis16136_stop_device(indio_dev); in adis16136_remove()
560 adis_cleanup_buffer_and_trigger(&adis16136->adis, indio_dev); in adis16136_remove()