sigma_delta 84 drivers/iio/adc/ad7780.c static int ad7780_set_mode(struct ad_sigma_delta *sigma_delta, sigma_delta 87 drivers/iio/adc/ad7780.c struct ad7780_state *st = ad_sigma_delta_to_ad7780(sigma_delta); sigma_delta 184 drivers/iio/adc/ad7780.c static int ad7780_postprocess_sample(struct ad_sigma_delta *sigma_delta, sigma_delta 187 drivers/iio/adc/ad7780.c struct ad7780_state *st = ad_sigma_delta_to_ad7780(sigma_delta); sigma_delta 39 drivers/iio/adc/ad_sigma_delta.c void ad_sd_set_comm(struct ad_sigma_delta *sigma_delta, uint8_t comm) sigma_delta 43 drivers/iio/adc/ad_sigma_delta.c sigma_delta->comm = comm & AD_SD_COMM_CHAN_MASK; sigma_delta 57 drivers/iio/adc/ad_sigma_delta.c int ad_sd_write_reg(struct ad_sigma_delta *sigma_delta, unsigned int reg, sigma_delta 60 drivers/iio/adc/ad_sigma_delta.c uint8_t *data = sigma_delta->data; sigma_delta 64 drivers/iio/adc/ad_sigma_delta.c .cs_change = sigma_delta->keep_cs_asserted, sigma_delta 69 drivers/iio/adc/ad_sigma_delta.c data[0] = (reg << sigma_delta->info->addr_shift) | sigma_delta->comm; sigma_delta 92 drivers/iio/adc/ad_sigma_delta.c if (sigma_delta->bus_locked) sigma_delta 93 drivers/iio/adc/ad_sigma_delta.c ret = spi_sync_locked(sigma_delta->spi, &m); sigma_delta 95 drivers/iio/adc/ad_sigma_delta.c ret = spi_sync(sigma_delta->spi, &m); sigma_delta 101 drivers/iio/adc/ad_sigma_delta.c static int ad_sd_read_reg_raw(struct ad_sigma_delta *sigma_delta, sigma_delta 104 drivers/iio/adc/ad_sigma_delta.c uint8_t *data = sigma_delta->data; sigma_delta 113 drivers/iio/adc/ad_sigma_delta.c .cs_change = sigma_delta->bus_locked, sigma_delta 120 drivers/iio/adc/ad_sigma_delta.c if (sigma_delta->info->has_registers) { sigma_delta 121 drivers/iio/adc/ad_sigma_delta.c data[0] = reg << sigma_delta->info->addr_shift; sigma_delta 122 drivers/iio/adc/ad_sigma_delta.c data[0] |= sigma_delta->info->read_mask; sigma_delta 123 drivers/iio/adc/ad_sigma_delta.c data[0] |= sigma_delta->comm; sigma_delta 128 drivers/iio/adc/ad_sigma_delta.c if (sigma_delta->bus_locked) sigma_delta 129 drivers/iio/adc/ad_sigma_delta.c ret = spi_sync_locked(sigma_delta->spi, &m); sigma_delta 131 drivers/iio/adc/ad_sigma_delta.c ret = spi_sync(sigma_delta->spi, &m); sigma_delta 146 drivers/iio/adc/ad_sigma_delta.c int ad_sd_read_reg(struct ad_sigma_delta *sigma_delta, sigma_delta 151 drivers/iio/adc/ad_sigma_delta.c ret = ad_sd_read_reg_raw(sigma_delta, reg, size, sigma_delta->data); sigma_delta 157 drivers/iio/adc/ad_sigma_delta.c *val = get_unaligned_be32(sigma_delta->data); sigma_delta 160 drivers/iio/adc/ad_sigma_delta.c *val = (sigma_delta->data[0] << 16) | sigma_delta 161 drivers/iio/adc/ad_sigma_delta.c (sigma_delta->data[1] << 8) | sigma_delta 162 drivers/iio/adc/ad_sigma_delta.c sigma_delta->data[2]; sigma_delta 165 drivers/iio/adc/ad_sigma_delta.c *val = get_unaligned_be16(sigma_delta->data); sigma_delta 168 drivers/iio/adc/ad_sigma_delta.c *val = sigma_delta->data[0]; sigma_delta 188 drivers/iio/adc/ad_sigma_delta.c int ad_sd_reset(struct ad_sigma_delta *sigma_delta, sigma_delta 201 drivers/iio/adc/ad_sigma_delta.c ret = spi_write(sigma_delta->spi, buf, size); sigma_delta 208 drivers/iio/adc/ad_sigma_delta.c static int ad_sd_calibrate(struct ad_sigma_delta *sigma_delta, sigma_delta 214 drivers/iio/adc/ad_sigma_delta.c ret = ad_sigma_delta_set_channel(sigma_delta, channel); sigma_delta 218 drivers/iio/adc/ad_sigma_delta.c spi_bus_lock(sigma_delta->spi->master); sigma_delta 219 drivers/iio/adc/ad_sigma_delta.c sigma_delta->bus_locked = true; sigma_delta 220 drivers/iio/adc/ad_sigma_delta.c sigma_delta->keep_cs_asserted = true; sigma_delta 221 drivers/iio/adc/ad_sigma_delta.c reinit_completion(&sigma_delta->completion); sigma_delta 223 drivers/iio/adc/ad_sigma_delta.c ret = ad_sigma_delta_set_mode(sigma_delta, mode); sigma_delta 227 drivers/iio/adc/ad_sigma_delta.c sigma_delta->irq_dis = false; sigma_delta 228 drivers/iio/adc/ad_sigma_delta.c enable_irq(sigma_delta->spi->irq); sigma_delta 229 drivers/iio/adc/ad_sigma_delta.c timeout = wait_for_completion_timeout(&sigma_delta->completion, 2 * HZ); sigma_delta 231 drivers/iio/adc/ad_sigma_delta.c sigma_delta->irq_dis = true; sigma_delta 232 drivers/iio/adc/ad_sigma_delta.c disable_irq_nosync(sigma_delta->spi->irq); sigma_delta 238 drivers/iio/adc/ad_sigma_delta.c sigma_delta->keep_cs_asserted = false; sigma_delta 239 drivers/iio/adc/ad_sigma_delta.c ad_sigma_delta_set_mode(sigma_delta, AD_SD_MODE_IDLE); sigma_delta 240 drivers/iio/adc/ad_sigma_delta.c sigma_delta->bus_locked = false; sigma_delta 241 drivers/iio/adc/ad_sigma_delta.c spi_bus_unlock(sigma_delta->spi->master); sigma_delta 254 drivers/iio/adc/ad_sigma_delta.c int ad_sd_calibrate_all(struct ad_sigma_delta *sigma_delta, sigma_delta 261 drivers/iio/adc/ad_sigma_delta.c ret = ad_sd_calibrate(sigma_delta, cb[i].mode, cb[i].channel); sigma_delta 281 drivers/iio/adc/ad_sigma_delta.c struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev); sigma_delta 290 drivers/iio/adc/ad_sigma_delta.c ad_sigma_delta_set_channel(sigma_delta, chan->address); sigma_delta 292 drivers/iio/adc/ad_sigma_delta.c spi_bus_lock(sigma_delta->spi->master); sigma_delta 293 drivers/iio/adc/ad_sigma_delta.c sigma_delta->bus_locked = true; sigma_delta 294 drivers/iio/adc/ad_sigma_delta.c sigma_delta->keep_cs_asserted = true; sigma_delta 295 drivers/iio/adc/ad_sigma_delta.c reinit_completion(&sigma_delta->completion); sigma_delta 297 drivers/iio/adc/ad_sigma_delta.c ad_sigma_delta_set_mode(sigma_delta, AD_SD_MODE_SINGLE); sigma_delta 299 drivers/iio/adc/ad_sigma_delta.c sigma_delta->irq_dis = false; sigma_delta 300 drivers/iio/adc/ad_sigma_delta.c enable_irq(sigma_delta->spi->irq); sigma_delta 302 drivers/iio/adc/ad_sigma_delta.c &sigma_delta->completion, HZ); sigma_delta 309 drivers/iio/adc/ad_sigma_delta.c if (sigma_delta->info->data_reg != 0) sigma_delta 310 drivers/iio/adc/ad_sigma_delta.c data_reg = sigma_delta->info->data_reg; sigma_delta 314 drivers/iio/adc/ad_sigma_delta.c ret = ad_sd_read_reg(sigma_delta, data_reg, sigma_delta 319 drivers/iio/adc/ad_sigma_delta.c if (!sigma_delta->irq_dis) { sigma_delta 320 drivers/iio/adc/ad_sigma_delta.c disable_irq_nosync(sigma_delta->spi->irq); sigma_delta 321 drivers/iio/adc/ad_sigma_delta.c sigma_delta->irq_dis = true; sigma_delta 324 drivers/iio/adc/ad_sigma_delta.c sigma_delta->keep_cs_asserted = false; sigma_delta 325 drivers/iio/adc/ad_sigma_delta.c ad_sigma_delta_set_mode(sigma_delta, AD_SD_MODE_IDLE); sigma_delta 326 drivers/iio/adc/ad_sigma_delta.c sigma_delta->bus_locked = false; sigma_delta 327 drivers/iio/adc/ad_sigma_delta.c spi_bus_unlock(sigma_delta->spi->master); sigma_delta 337 drivers/iio/adc/ad_sigma_delta.c ret = ad_sigma_delta_postprocess_sample(sigma_delta, raw_sample); sigma_delta 347 drivers/iio/adc/ad_sigma_delta.c struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev); sigma_delta 357 drivers/iio/adc/ad_sigma_delta.c ret = ad_sigma_delta_set_channel(sigma_delta, sigma_delta 362 drivers/iio/adc/ad_sigma_delta.c spi_bus_lock(sigma_delta->spi->master); sigma_delta 363 drivers/iio/adc/ad_sigma_delta.c sigma_delta->bus_locked = true; sigma_delta 364 drivers/iio/adc/ad_sigma_delta.c sigma_delta->keep_cs_asserted = true; sigma_delta 366 drivers/iio/adc/ad_sigma_delta.c ret = ad_sigma_delta_set_mode(sigma_delta, AD_SD_MODE_CONTINUOUS); sigma_delta 370 drivers/iio/adc/ad_sigma_delta.c sigma_delta->irq_dis = false; sigma_delta 371 drivers/iio/adc/ad_sigma_delta.c enable_irq(sigma_delta->spi->irq); sigma_delta 376 drivers/iio/adc/ad_sigma_delta.c spi_bus_unlock(sigma_delta->spi->master); sigma_delta 383 drivers/iio/adc/ad_sigma_delta.c struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev); sigma_delta 385 drivers/iio/adc/ad_sigma_delta.c reinit_completion(&sigma_delta->completion); sigma_delta 386 drivers/iio/adc/ad_sigma_delta.c wait_for_completion_timeout(&sigma_delta->completion, HZ); sigma_delta 388 drivers/iio/adc/ad_sigma_delta.c if (!sigma_delta->irq_dis) { sigma_delta 389 drivers/iio/adc/ad_sigma_delta.c disable_irq_nosync(sigma_delta->spi->irq); sigma_delta 390 drivers/iio/adc/ad_sigma_delta.c sigma_delta->irq_dis = true; sigma_delta 393 drivers/iio/adc/ad_sigma_delta.c sigma_delta->keep_cs_asserted = false; sigma_delta 394 drivers/iio/adc/ad_sigma_delta.c ad_sigma_delta_set_mode(sigma_delta, AD_SD_MODE_IDLE); sigma_delta 396 drivers/iio/adc/ad_sigma_delta.c sigma_delta->bus_locked = false; sigma_delta 397 drivers/iio/adc/ad_sigma_delta.c return spi_bus_unlock(sigma_delta->spi->master); sigma_delta 404 drivers/iio/adc/ad_sigma_delta.c struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev); sigma_delta 416 drivers/iio/adc/ad_sigma_delta.c if (sigma_delta->info->data_reg != 0) sigma_delta 417 drivers/iio/adc/ad_sigma_delta.c data_reg = sigma_delta->info->data_reg; sigma_delta 425 drivers/iio/adc/ad_sigma_delta.c ret = ad_sd_read_reg_raw(sigma_delta, data_reg, reg_size, sigma_delta 431 drivers/iio/adc/ad_sigma_delta.c ret = ad_sd_read_reg_raw(sigma_delta, data_reg, reg_size, sigma_delta 439 drivers/iio/adc/ad_sigma_delta.c sigma_delta->irq_dis = false; sigma_delta 440 drivers/iio/adc/ad_sigma_delta.c enable_irq(sigma_delta->spi->irq); sigma_delta 454 drivers/iio/adc/ad_sigma_delta.c struct ad_sigma_delta *sigma_delta = private; sigma_delta 456 drivers/iio/adc/ad_sigma_delta.c complete(&sigma_delta->completion); sigma_delta 458 drivers/iio/adc/ad_sigma_delta.c sigma_delta->irq_dis = true; sigma_delta 459 drivers/iio/adc/ad_sigma_delta.c iio_trigger_poll(sigma_delta->trig); sigma_delta 474 drivers/iio/adc/ad_sigma_delta.c struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev); sigma_delta 476 drivers/iio/adc/ad_sigma_delta.c if (sigma_delta->trig != trig) sigma_delta 488 drivers/iio/adc/ad_sigma_delta.c struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev); sigma_delta 491 drivers/iio/adc/ad_sigma_delta.c sigma_delta->trig = iio_trigger_alloc("%s-dev%d", indio_dev->name, sigma_delta 493 drivers/iio/adc/ad_sigma_delta.c if (sigma_delta->trig == NULL) { sigma_delta 497 drivers/iio/adc/ad_sigma_delta.c sigma_delta->trig->ops = &ad_sd_trigger_ops; sigma_delta 498 drivers/iio/adc/ad_sigma_delta.c init_completion(&sigma_delta->completion); sigma_delta 500 drivers/iio/adc/ad_sigma_delta.c ret = request_irq(sigma_delta->spi->irq, sigma_delta 504 drivers/iio/adc/ad_sigma_delta.c sigma_delta); sigma_delta 508 drivers/iio/adc/ad_sigma_delta.c if (!sigma_delta->irq_dis) { sigma_delta 509 drivers/iio/adc/ad_sigma_delta.c sigma_delta->irq_dis = true; sigma_delta 510 drivers/iio/adc/ad_sigma_delta.c disable_irq_nosync(sigma_delta->spi->irq); sigma_delta 512 drivers/iio/adc/ad_sigma_delta.c sigma_delta->trig->dev.parent = &sigma_delta->spi->dev; sigma_delta 513 drivers/iio/adc/ad_sigma_delta.c iio_trigger_set_drvdata(sigma_delta->trig, sigma_delta); sigma_delta 515 drivers/iio/adc/ad_sigma_delta.c ret = iio_trigger_register(sigma_delta->trig); sigma_delta 520 drivers/iio/adc/ad_sigma_delta.c indio_dev->trig = iio_trigger_get(sigma_delta->trig); sigma_delta 525 drivers/iio/adc/ad_sigma_delta.c free_irq(sigma_delta->spi->irq, sigma_delta); sigma_delta 527 drivers/iio/adc/ad_sigma_delta.c iio_trigger_free(sigma_delta->trig); sigma_delta 534 drivers/iio/adc/ad_sigma_delta.c struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev); sigma_delta 536 drivers/iio/adc/ad_sigma_delta.c iio_trigger_unregister(sigma_delta->trig); sigma_delta 537 drivers/iio/adc/ad_sigma_delta.c free_irq(sigma_delta->spi->irq, sigma_delta); sigma_delta 538 drivers/iio/adc/ad_sigma_delta.c iio_trigger_free(sigma_delta->trig); sigma_delta 585 drivers/iio/adc/ad_sigma_delta.c int ad_sd_init(struct ad_sigma_delta *sigma_delta, struct iio_dev *indio_dev, sigma_delta 588 drivers/iio/adc/ad_sigma_delta.c sigma_delta->spi = spi; sigma_delta 589 drivers/iio/adc/ad_sigma_delta.c sigma_delta->info = info; sigma_delta 590 drivers/iio/adc/ad_sigma_delta.c iio_device_set_drvdata(indio_dev, sigma_delta); sigma_delta 111 include/linux/iio/adc/ad_sigma_delta.h void ad_sd_set_comm(struct ad_sigma_delta *sigma_delta, uint8_t comm); sigma_delta 112 include/linux/iio/adc/ad_sigma_delta.h int ad_sd_write_reg(struct ad_sigma_delta *sigma_delta, unsigned int reg, sigma_delta 114 include/linux/iio/adc/ad_sigma_delta.h int ad_sd_read_reg(struct ad_sigma_delta *sigma_delta, unsigned int reg, sigma_delta 117 include/linux/iio/adc/ad_sigma_delta.h int ad_sd_reset(struct ad_sigma_delta *sigma_delta, sigma_delta 122 include/linux/iio/adc/ad_sigma_delta.h int ad_sd_calibrate_all(struct ad_sigma_delta *sigma_delta, sigma_delta 124 include/linux/iio/adc/ad_sigma_delta.h int ad_sd_init(struct ad_sigma_delta *sigma_delta, struct iio_dev *indio_dev,