• Home
  • Raw
  • Download

Lines Matching +full:acquisition +full:- +full:time

226 		dev_warn(&indio_dev->dev, "trigger mode already enabled");  in max1027_read_single_value()
227 return -EBUSY; in max1027_read_single_value()
230 /* Start acquisition on conversion register write */ in max1027_read_single_value()
231 st->reg = MAX1027_SETUP_REG | MAX1027_REF_MODE2 | MAX1027_CKS_MODE2; in max1027_read_single_value()
232 ret = spi_write(st->spi, &st->reg, 1); in max1027_read_single_value()
234 dev_err(&indio_dev->dev, in max1027_read_single_value()
240 st->reg = MAX1027_CONV_REG | MAX1027_CHAN(chan->channel) | in max1027_read_single_value()
242 if (chan->type == IIO_TEMP) in max1027_read_single_value()
243 st->reg |= MAX1027_TEMP; in max1027_read_single_value()
244 ret = spi_write(st->spi, &st->reg, 1); in max1027_read_single_value()
246 dev_err(&indio_dev->dev, in max1027_read_single_value()
253 * conversion register), the interrupt doesn't occur every time. in max1027_read_single_value()
259 ret = spi_read(st->spi, st->buffer, (chan->type == IIO_TEMP) ? 4 : 2); in max1027_read_single_value()
263 *val = be16_to_cpu(st->buffer[0]); in max1027_read_single_value()
275 mutex_lock(&st->lock); in max1027_read_raw()
282 switch (chan->type) { in max1027_read_raw()
294 ret = -EINVAL; in max1027_read_raw()
299 ret = -EINVAL; in max1027_read_raw()
303 mutex_unlock(&st->lock); in max1027_read_raw()
313 u8 *val = (u8 *)st->buffer; in max1027_debugfs_reg_access()
316 return -EINVAL; in max1027_debugfs_reg_access()
319 return spi_write(st->spi, val, 1); in max1027_debugfs_reg_access()
327 if (st->trig != trig) in max1027_validate_trigger()
328 return -EINVAL; in max1027_validate_trigger()
340 /* Start acquisition on cnvst */ in max1027_set_trigger_state()
341 st->reg = MAX1027_SETUP_REG | MAX1027_CKS_MODE0 | in max1027_set_trigger_state()
343 ret = spi_write(st->spi, &st->reg, 1); in max1027_set_trigger_state()
348 st->reg = MAX1027_CONV_REG | MAX1027_CHAN(0) | in max1027_set_trigger_state()
350 ret = spi_write(st->spi, &st->reg, 1); in max1027_set_trigger_state()
354 /* Start acquisition on conversion register write */ in max1027_set_trigger_state()
355 st->reg = MAX1027_SETUP_REG | MAX1027_CKS_MODE2 | in max1027_set_trigger_state()
357 ret = spi_write(st->spi, &st->reg, 1); in max1027_set_trigger_state()
368 struct iio_dev *indio_dev = pf->indio_dev; in max1027_trigger_handler()
374 spi_read(st->spi, st->buffer, indio_dev->masklength * 2); in max1027_trigger_handler()
376 iio_push_to_buffers(indio_dev, st->buffer); in max1027_trigger_handler()
378 iio_trigger_notify_done(indio_dev->trig); in max1027_trigger_handler()
402 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in max1027_probe()
405 return -ENOMEM; in max1027_probe()
411 st->spi = spi; in max1027_probe()
412 st->info = &max1027_chip_info_tbl[spi_get_device_id(spi)->driver_data]; in max1027_probe()
414 mutex_init(&st->lock); in max1027_probe()
416 indio_dev->name = spi_get_device_id(spi)->name; in max1027_probe()
417 indio_dev->dev.parent = &spi->dev; in max1027_probe()
418 indio_dev->dev.of_node = spi->dev.of_node; in max1027_probe()
419 indio_dev->info = &max1027_info; in max1027_probe()
420 indio_dev->modes = INDIO_DIRECT_MODE; in max1027_probe()
421 indio_dev->channels = st->info->channels; in max1027_probe()
422 indio_dev->num_channels = st->info->num_channels; in max1027_probe()
423 indio_dev->available_scan_masks = st->info->available_scan_masks; in max1027_probe()
425 st->buffer = devm_kmalloc_array(&indio_dev->dev, in max1027_probe()
426 indio_dev->num_channels, 2, in max1027_probe()
428 if (st->buffer == NULL) { in max1027_probe()
429 dev_err(&indio_dev->dev, "Can't allocate buffer\n"); in max1027_probe()
430 return -ENOMEM; in max1027_probe()
436 dev_err(&indio_dev->dev, "Failed to setup buffer\n"); in max1027_probe()
440 st->trig = devm_iio_trigger_alloc(&spi->dev, "%s-trigger", in max1027_probe()
441 indio_dev->name); in max1027_probe()
442 if (st->trig == NULL) { in max1027_probe()
443 ret = -ENOMEM; in max1027_probe()
444 dev_err(&indio_dev->dev, "Failed to allocate iio trigger\n"); in max1027_probe()
448 st->trig->ops = &max1027_trigger_ops; in max1027_probe()
449 st->trig->dev.parent = &spi->dev; in max1027_probe()
450 iio_trigger_set_drvdata(st->trig, indio_dev); in max1027_probe()
451 iio_trigger_register(st->trig); in max1027_probe()
453 ret = devm_request_threaded_irq(&spi->dev, spi->irq, in max1027_probe()
457 spi->dev.driver->name, st->trig); in max1027_probe()
459 dev_err(&indio_dev->dev, "Failed to allocate IRQ.\n"); in max1027_probe()
464 st->reg = MAX1027_RST_REG; in max1027_probe()
465 ret = spi_write(st->spi, &st->reg, 1); in max1027_probe()
467 dev_err(&indio_dev->dev, "Failed to reset the ADC\n"); in max1027_probe()
472 st->reg = MAX1027_AVG_REG; in max1027_probe()
473 ret = spi_write(st->spi, &st->reg, 1); in max1027_probe()
475 dev_err(&indio_dev->dev, "Failed to configure averaging register\n"); in max1027_probe()
481 dev_err(&indio_dev->dev, "Failed to register iio device\n"); in max1027_probe()