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()
152 debugfs_create_file("serial_number", 0400, indio_dev->debugfs_dentry, in adis16136_debugfs_init()
154 debugfs_create_file("product_id", 0400, indio_dev->debugfs_dentry, in adis16136_debugfs_init()
156 debugfs_create_file("flash_count", 0400, indio_dev->debugfs_dentry, in adis16136_debugfs_init()
164 static int adis16136_debugfs_init(struct iio_dev *indio_dev) in adis16136_debugfs_init() argument
203 struct iio_dev *indio_dev = dev_to_iio_dev(dev); in adis16136_write_frequency() local
204 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_write_frequency()
223 struct iio_dev *indio_dev = dev_to_iio_dev(dev); in adis16136_read_frequency() local
224 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_read_frequency()
250 static int adis16136_set_filter(struct iio_dev *indio_dev, int val) in adis16136_set_filter() argument
252 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_set_filter()
268 static int adis16136_get_filter(struct iio_dev *indio_dev, int *val) in adis16136_get_filter() argument
270 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_get_filter()
275 mutex_lock(&indio_dev->mlock); in adis16136_get_filter()
288 mutex_unlock(&indio_dev->mlock); in adis16136_get_filter()
293 static int adis16136_read_raw(struct iio_dev *indio_dev, in adis16136_read_raw() argument
296 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_read_raw()
302 return adis_single_conversion(indio_dev, chan, 0, val); in adis16136_read_raw()
326 return adis16136_get_filter(indio_dev, val); in adis16136_read_raw()
332 static int adis16136_write_raw(struct iio_dev *indio_dev, in adis16136_write_raw() argument
335 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_write_raw()
342 return adis16136_set_filter(indio_dev, val); in adis16136_write_raw()
409 static int adis16136_stop_device(struct iio_dev *indio_dev) in adis16136_stop_device() argument
411 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_stop_device()
416 dev_err(&indio_dev->dev, in adis16136_stop_device()
422 static int adis16136_initial_setup(struct iio_dev *indio_dev) in adis16136_initial_setup() argument
424 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_initial_setup()
438 sscanf(indio_dev->name, "adis%u\n", &device_id); in adis16136_initial_setup()
441 dev_warn(&indio_dev->dev, "Device ID(%u) and product ID(%u) do not match.", in adis16136_initial_setup()
497 struct iio_dev *indio_dev; in adis16136_probe() local
500 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adis16136)); in adis16136_probe()
501 if (indio_dev == NULL) in adis16136_probe()
504 spi_set_drvdata(spi, indio_dev); in adis16136_probe()
506 adis16136 = iio_priv(indio_dev); in adis16136_probe()
509 indio_dev->dev.parent = &spi->dev; in adis16136_probe()
510 indio_dev->name = spi_get_device_id(spi)->name; in adis16136_probe()
511 indio_dev->channels = adis16136_channels; in adis16136_probe()
512 indio_dev->num_channels = ARRAY_SIZE(adis16136_channels); in adis16136_probe()
513 indio_dev->info = &adis16136_info; in adis16136_probe()
514 indio_dev->modes = INDIO_DIRECT_MODE; in adis16136_probe()
516 ret = adis_init(&adis16136->adis, indio_dev, spi, &adis16136_data); in adis16136_probe()
520 ret = adis_setup_buffer_and_trigger(&adis16136->adis, indio_dev, NULL); in adis16136_probe()
524 ret = adis16136_initial_setup(indio_dev); in adis16136_probe()
528 ret = iio_device_register(indio_dev); in adis16136_probe()
532 adis16136_debugfs_init(indio_dev); in adis16136_probe()
537 adis16136_stop_device(indio_dev); in adis16136_probe()
539 adis_cleanup_buffer_and_trigger(&adis16136->adis, indio_dev); in adis16136_probe()
545 struct iio_dev *indio_dev = spi_get_drvdata(spi); in adis16136_remove() local
546 struct adis16136 *adis16136 = iio_priv(indio_dev); in adis16136_remove()
548 iio_device_unregister(indio_dev); in adis16136_remove()
549 adis16136_stop_device(indio_dev); in adis16136_remove()
551 adis_cleanup_buffer_and_trigger(&adis16136->adis, indio_dev); in adis16136_remove()