adis              105 drivers/iio/accel/adis16201.c 	struct adis *st = iio_priv(indio_dev);
adis              186 drivers/iio/accel/adis16201.c 	struct adis *st = iio_priv(indio_dev);
adis              256 drivers/iio/accel/adis16201.c 	struct adis *st;
adis              300 drivers/iio/accel/adis16201.c 	struct adis *st = iio_priv(indio_dev);
adis              113 drivers/iio/accel/adis16209.c 	struct adis *st = iio_priv(indio_dev);
adis              137 drivers/iio/accel/adis16209.c 	struct adis *st = iio_priv(indio_dev);
adis              267 drivers/iio/accel/adis16209.c 	struct adis *st;
adis              309 drivers/iio/accel/adis16209.c 	struct adis *st = iio_priv(indio_dev);
adis               67 drivers/iio/gyro/adis16136.c 	struct adis adis;
adis               81 drivers/iio/gyro/adis16136.c 	ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_SERIAL_NUM,
adis               86 drivers/iio/gyro/adis16136.c 	ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_LOT1, &lot1);
adis               90 drivers/iio/gyro/adis16136.c 	ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_LOT2, &lot2);
adis               94 drivers/iio/gyro/adis16136.c 	ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_LOT3, &lot3);
adis              117 drivers/iio/gyro/adis16136.c 	ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_PROD_ID,
adis              135 drivers/iio/gyro/adis16136.c 	ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_FLASH_CNT,
adis              185 drivers/iio/gyro/adis16136.c 	return adis_write_reg_16(&adis16136->adis, ADIS16136_REG_SMPL_PRD, t);
adis              193 drivers/iio/gyro/adis16136.c 	ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_SMPL_PRD, &t);
adis              267 drivers/iio/gyro/adis16136.c 	return adis_write_reg_16(&adis16136->adis, ADIS16136_REG_AVG_CNT, i);
adis              279 drivers/iio/gyro/adis16136.c 	ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_AVG_CNT, &val16);
adis              319 drivers/iio/gyro/adis16136.c 		ret = adis_read_reg_32(&adis16136->adis,
adis              341 drivers/iio/gyro/adis16136.c 		return adis_write_reg_32(&adis16136->adis,
adis              415 drivers/iio/gyro/adis16136.c 	ret = adis_write_reg_16(&adis16136->adis, ADIS16136_REG_SLP_CTRL, 0xff);
adis              430 drivers/iio/gyro/adis16136.c 	ret = adis_initial_startup(&adis16136->adis);
adis              434 drivers/iio/gyro/adis16136.c 	ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_PROD_ID,
adis              524 drivers/iio/gyro/adis16136.c 	ret = adis_init(&adis16136->adis, indio_dev, spi, &adis16136_data);
adis              528 drivers/iio/gyro/adis16136.c 	ret = adis_setup_buffer_and_trigger(&adis16136->adis, indio_dev, NULL);
adis              547 drivers/iio/gyro/adis16136.c 	adis_cleanup_buffer_and_trigger(&adis16136->adis, indio_dev);
adis              559 drivers/iio/gyro/adis16136.c 	adis_cleanup_buffer_and_trigger(&adis16136->adis, indio_dev);
adis              113 drivers/iio/gyro/adis16260.c 	struct adis adis;
adis              180 drivers/iio/gyro/adis16260.c 	ret = adis_write_reg_16(&adis16260->adis, ADIS16260_SLP_CNT, val);
adis              198 drivers/iio/gyro/adis16260.c 	struct adis *adis = &adis16260->adis;
adis              238 drivers/iio/gyro/adis16260.c 		ret = adis_read_reg_16(adis, addr, &val16);
adis              246 drivers/iio/gyro/adis16260.c 		ret = adis_read_reg_16(adis, addr, &val16);
adis              253 drivers/iio/gyro/adis16260.c 		ret = adis_read_reg_16(adis, ADIS16260_SMPL_PRD, &val16);
adis              257 drivers/iio/gyro/adis16260.c 		if (spi_get_device_id(adis->spi)->driver_data)
adis              277 drivers/iio/gyro/adis16260.c 	struct adis *adis = &adis16260->adis;
adis              288 drivers/iio/gyro/adis16260.c 		return adis_write_reg_16(adis, addr, val);
adis              294 drivers/iio/gyro/adis16260.c 		return adis_write_reg_16(adis, addr, val);
adis              297 drivers/iio/gyro/adis16260.c 		if (spi_get_device_id(adis->spi)->driver_data)
adis              308 drivers/iio/gyro/adis16260.c 			adis->spi->max_speed_hz = ADIS16260_SPI_SLOW;
adis              310 drivers/iio/gyro/adis16260.c 			adis->spi->max_speed_hz = ADIS16260_SPI_FAST;
adis              311 drivers/iio/gyro/adis16260.c 		ret = adis_write_reg_8(adis, ADIS16260_SMPL_PRD, t);
adis              383 drivers/iio/gyro/adis16260.c 	ret = adis_init(&adis16260->adis, indio_dev, spi, &adis16260_data);
adis              387 drivers/iio/gyro/adis16260.c 	ret = adis_setup_buffer_and_trigger(&adis16260->adis, indio_dev, NULL);
adis              392 drivers/iio/gyro/adis16260.c 	ret = adis_initial_startup(&adis16260->adis);
adis              402 drivers/iio/gyro/adis16260.c 	adis_cleanup_buffer_and_trigger(&adis16260->adis, indio_dev);
adis              413 drivers/iio/gyro/adis16260.c 	adis_cleanup_buffer_and_trigger(&adis16260->adis, indio_dev);
adis               29 drivers/iio/imu/adis.c int adis_write_reg(struct adis *adis, unsigned int reg,
adis               37 drivers/iio/imu/adis.c 			.tx_buf = adis->tx,
adis               41 drivers/iio/imu/adis.c 			.delay_usecs = adis->data->write_delay,
adis               42 drivers/iio/imu/adis.c 			.cs_change_delay = adis->data->cs_change_delay,
adis               45 drivers/iio/imu/adis.c 			.tx_buf = adis->tx + 2,
adis               49 drivers/iio/imu/adis.c 			.delay_usecs = adis->data->write_delay,
adis               50 drivers/iio/imu/adis.c 			.cs_change_delay = adis->data->cs_change_delay,
adis               53 drivers/iio/imu/adis.c 			.tx_buf = adis->tx + 4,
adis               57 drivers/iio/imu/adis.c 			.delay_usecs = adis->data->write_delay,
adis               58 drivers/iio/imu/adis.c 			.cs_change_delay = adis->data->cs_change_delay,
adis               61 drivers/iio/imu/adis.c 			.tx_buf = adis->tx + 6,
adis               64 drivers/iio/imu/adis.c 			.delay_usecs = adis->data->write_delay,
adis               66 drivers/iio/imu/adis.c 			.tx_buf = adis->tx + 8,
adis               69 drivers/iio/imu/adis.c 			.delay_usecs = adis->data->write_delay,
adis               73 drivers/iio/imu/adis.c 	mutex_lock(&adis->txrx_lock);
adis               77 drivers/iio/imu/adis.c 	if (adis->current_page != page) {
adis               78 drivers/iio/imu/adis.c 		adis->tx[0] = ADIS_WRITE_REG(ADIS_REG_PAGE_ID);
adis               79 drivers/iio/imu/adis.c 		adis->tx[1] = page;
adis               85 drivers/iio/imu/adis.c 		adis->tx[8] = ADIS_WRITE_REG(reg + 3);
adis               86 drivers/iio/imu/adis.c 		adis->tx[9] = (value >> 24) & 0xff;
adis               87 drivers/iio/imu/adis.c 		adis->tx[6] = ADIS_WRITE_REG(reg + 2);
adis               88 drivers/iio/imu/adis.c 		adis->tx[7] = (value >> 16) & 0xff;
adis               91 drivers/iio/imu/adis.c 		adis->tx[4] = ADIS_WRITE_REG(reg + 1);
adis               92 drivers/iio/imu/adis.c 		adis->tx[5] = (value >> 8) & 0xff;
adis               95 drivers/iio/imu/adis.c 		adis->tx[2] = ADIS_WRITE_REG(reg);
adis               96 drivers/iio/imu/adis.c 		adis->tx[3] = value & 0xff;
adis              108 drivers/iio/imu/adis.c 	ret = spi_sync(adis->spi, &msg);
adis              110 drivers/iio/imu/adis.c 		dev_err(&adis->spi->dev, "Failed to write register 0x%02X: %d\n",
adis              113 drivers/iio/imu/adis.c 		adis->current_page = page;
adis              117 drivers/iio/imu/adis.c 	mutex_unlock(&adis->txrx_lock);
adis              129 drivers/iio/imu/adis.c int adis_read_reg(struct adis *adis, unsigned int reg,
adis              137 drivers/iio/imu/adis.c 			.tx_buf = adis->tx,
adis              141 drivers/iio/imu/adis.c 			.delay_usecs = adis->data->write_delay,
adis              142 drivers/iio/imu/adis.c 			.cs_change_delay = adis->data->cs_change_delay,
adis              145 drivers/iio/imu/adis.c 			.tx_buf = adis->tx + 2,
adis              149 drivers/iio/imu/adis.c 			.delay_usecs = adis->data->read_delay,
adis              150 drivers/iio/imu/adis.c 			.cs_change_delay = adis->data->cs_change_delay,
adis              153 drivers/iio/imu/adis.c 			.tx_buf = adis->tx + 4,
adis              154 drivers/iio/imu/adis.c 			.rx_buf = adis->rx,
adis              158 drivers/iio/imu/adis.c 			.delay_usecs = adis->data->read_delay,
adis              159 drivers/iio/imu/adis.c 			.cs_change_delay = adis->data->cs_change_delay,
adis              162 drivers/iio/imu/adis.c 			.rx_buf = adis->rx + 2,
adis              165 drivers/iio/imu/adis.c 			.delay_usecs = adis->data->read_delay,
adis              169 drivers/iio/imu/adis.c 	mutex_lock(&adis->txrx_lock);
adis              172 drivers/iio/imu/adis.c 	if (adis->current_page != page) {
adis              173 drivers/iio/imu/adis.c 		adis->tx[0] = ADIS_WRITE_REG(ADIS_REG_PAGE_ID);
adis              174 drivers/iio/imu/adis.c 		adis->tx[1] = page;
adis              180 drivers/iio/imu/adis.c 		adis->tx[2] = ADIS_READ_REG(reg + 2);
adis              181 drivers/iio/imu/adis.c 		adis->tx[3] = 0;
adis              185 drivers/iio/imu/adis.c 		adis->tx[4] = ADIS_READ_REG(reg);
adis              186 drivers/iio/imu/adis.c 		adis->tx[5] = 0;
adis              195 drivers/iio/imu/adis.c 	ret = spi_sync(adis->spi, &msg);
adis              197 drivers/iio/imu/adis.c 		dev_err(&adis->spi->dev, "Failed to read register 0x%02X: %d\n",
adis              201 drivers/iio/imu/adis.c 		adis->current_page = page;
adis              206 drivers/iio/imu/adis.c 		*val = get_unaligned_be32(adis->rx);
adis              209 drivers/iio/imu/adis.c 		*val = get_unaligned_be16(adis->rx + 2);
adis              214 drivers/iio/imu/adis.c 	mutex_unlock(&adis->txrx_lock);
adis              225 drivers/iio/imu/adis.c 	struct adis *adis = iio_device_get_drvdata(indio_dev);
adis              231 drivers/iio/imu/adis.c 		ret = adis_read_reg_16(adis, reg, &val16);
adis              236 drivers/iio/imu/adis.c 		return adis_write_reg_16(adis, reg, writeval);
adis              250 drivers/iio/imu/adis.c int adis_enable_irq(struct adis *adis, bool enable)
adis              255 drivers/iio/imu/adis.c 	if (adis->data->enable_irq)
adis              256 drivers/iio/imu/adis.c 		return adis->data->enable_irq(adis, enable);
adis              258 drivers/iio/imu/adis.c 	ret = adis_read_reg_16(adis, adis->data->msc_ctrl_reg, &msc);
adis              269 drivers/iio/imu/adis.c 	ret = adis_write_reg_16(adis, adis->data->msc_ctrl_reg, msc);
adis              282 drivers/iio/imu/adis.c int adis_check_status(struct adis *adis)
adis              288 drivers/iio/imu/adis.c 	ret = adis_read_reg_16(adis, adis->data->diag_stat_reg, &status);
adis              292 drivers/iio/imu/adis.c 	status &= adis->data->status_error_mask;
adis              299 drivers/iio/imu/adis.c 			dev_err(&adis->spi->dev, "%s.\n",
adis              300 drivers/iio/imu/adis.c 				adis->data->status_error_msgs[i]);
adis              314 drivers/iio/imu/adis.c int adis_reset(struct adis *adis)
adis              318 drivers/iio/imu/adis.c 	ret = adis_write_reg_8(adis, adis->data->glob_cmd_reg,
adis              321 drivers/iio/imu/adis.c 		dev_err(&adis->spi->dev, "Failed to reset device: %d\n", ret);
adis              327 drivers/iio/imu/adis.c static int adis_self_test(struct adis *adis)
adis              331 drivers/iio/imu/adis.c 	ret = adis_write_reg_16(adis, adis->data->msc_ctrl_reg,
adis              332 drivers/iio/imu/adis.c 			adis->data->self_test_mask);
adis              334 drivers/iio/imu/adis.c 		dev_err(&adis->spi->dev, "Failed to initiate self test: %d\n",
adis              339 drivers/iio/imu/adis.c 	msleep(adis->data->startup_delay);
adis              341 drivers/iio/imu/adis.c 	ret = adis_check_status(adis);
adis              343 drivers/iio/imu/adis.c 	if (adis->data->self_test_no_autoclear)
adis              344 drivers/iio/imu/adis.c 		adis_write_reg_16(adis, adis->data->msc_ctrl_reg, 0x00);
adis              358 drivers/iio/imu/adis.c int adis_initial_startup(struct adis *adis)
adis              362 drivers/iio/imu/adis.c 	ret = adis_self_test(adis);
adis              364 drivers/iio/imu/adis.c 		dev_err(&adis->spi->dev, "Self-test failed, trying reset.\n");
adis              365 drivers/iio/imu/adis.c 		adis_reset(adis);
adis              366 drivers/iio/imu/adis.c 		msleep(adis->data->startup_delay);
adis              367 drivers/iio/imu/adis.c 		ret = adis_self_test(adis);
adis              369 drivers/iio/imu/adis.c 			dev_err(&adis->spi->dev, "Second self-test failed, giving up.\n");
adis              396 drivers/iio/imu/adis.c 	struct adis *adis = iio_device_get_drvdata(indio_dev);
adis              402 drivers/iio/imu/adis.c 	ret = adis_read_reg(adis, chan->address, &uval,
adis              408 drivers/iio/imu/adis.c 		ret = adis_check_status(adis);
adis              437 drivers/iio/imu/adis.c int adis_init(struct adis *adis, struct iio_dev *indio_dev,
adis              440 drivers/iio/imu/adis.c 	mutex_init(&adis->txrx_lock);
adis              441 drivers/iio/imu/adis.c 	adis->spi = spi;
adis              442 drivers/iio/imu/adis.c 	adis->data = data;
adis              443 drivers/iio/imu/adis.c 	iio_device_set_drvdata(indio_dev, adis);
adis              447 drivers/iio/imu/adis.c 		adis->current_page = -1;
adis              450 drivers/iio/imu/adis.c 		adis->current_page = 0;
adis              453 drivers/iio/imu/adis.c 	return adis_enable_irq(adis, false);
adis              179 drivers/iio/imu/adis16400.c 	struct adis adis;
adis              219 drivers/iio/imu/adis16400.c 	ret = adis_read_reg_16(&st->adis, ADIS16334_LOT_ID1, &lot1);
adis              223 drivers/iio/imu/adis16400.c 	ret = adis_read_reg_16(&st->adis, ADIS16334_LOT_ID2, &lot2);
adis              227 drivers/iio/imu/adis16400.c 	ret = adis_read_reg_16(&st->adis, ADIS16334_SERIAL_NUMBER,
adis              251 drivers/iio/imu/adis16400.c 	ret = adis_read_reg_16(&st->adis, ADIS16400_PRODUCT_ID, &prod_id);
adis              268 drivers/iio/imu/adis16400.c 	ret = adis_read_reg_16(&st->adis, ADIS16400_FLASH_CNT, &flash_count);
adis              329 drivers/iio/imu/adis16400.c 	ret = adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &t);
adis              353 drivers/iio/imu/adis16400.c 	return adis_write_reg_16(&st->adis, ADIS16400_SMPL_PRD, t);
adis              361 drivers/iio/imu/adis16400.c 	ret = adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &t);
adis              389 drivers/iio/imu/adis16400.c 		st->adis.spi->max_speed_hz = ADIS16400_SPI_SLOW;
adis              391 drivers/iio/imu/adis16400.c 		st->adis.spi->max_speed_hz = ADIS16400_SPI_FAST;
adis              393 drivers/iio/imu/adis16400.c 	return adis_write_reg_8(&st->adis, ADIS16400_SMPL_PRD, val);
adis              418 drivers/iio/imu/adis16400.c 	ret = adis_read_reg_16(&st->adis, ADIS16400_SENS_AVG, &val16);
adis              422 drivers/iio/imu/adis16400.c 	ret = adis_write_reg_16(&st->adis, ADIS16400_SENS_AVG,
adis              433 drivers/iio/imu/adis16400.c 	ret = adis_write_reg_16(&st->adis, ADIS16400_SLP_CNT,
adis              451 drivers/iio/imu/adis16400.c 		st->adis.spi->max_speed_hz = ADIS16400_SPI_SLOW;
adis              453 drivers/iio/imu/adis16400.c 		st->adis.spi->max_speed_hz = ADIS16400_SPI_FAST;
adis              454 drivers/iio/imu/adis16400.c 	st->adis.spi->mode = SPI_MODE_3;
adis              455 drivers/iio/imu/adis16400.c 	spi_setup(st->adis.spi);
adis              457 drivers/iio/imu/adis16400.c 	ret = adis_initial_startup(&st->adis);
adis              462 drivers/iio/imu/adis16400.c 		ret = adis_read_reg_16(&st->adis,
adis              479 drivers/iio/imu/adis16400.c 			st->adis.spi->chip_select, st->adis.spi->irq);
adis              483 drivers/iio/imu/adis16400.c 		ret = adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &smp_prd);
adis              488 drivers/iio/imu/adis16400.c 			st->adis.spi->max_speed_hz = ADIS16400_SPI_FAST;
adis              489 drivers/iio/imu/adis16400.c 			spi_setup(st->adis.spi);
adis              515 drivers/iio/imu/adis16400.c 		ret = adis_write_reg_16(&st->adis,
adis              600 drivers/iio/imu/adis16400.c 		ret = adis_read_reg_16(&st->adis,
adis              615 drivers/iio/imu/adis16400.c 		ret = adis_read_reg_16(&st->adis,
adis              650 drivers/iio/imu/adis16400.c 	struct adis *adis = &st->adis;
adis              651 drivers/iio/imu/adis16400.c 	u32 old_speed_hz = st->adis.spi->max_speed_hz;
adis              655 drivers/iio/imu/adis16400.c 	if (!adis->buffer)
adis              659 drivers/iio/imu/adis16400.c 		st->adis.spi->max_speed_hz > ADIS16400_SPI_BURST) {
adis              660 drivers/iio/imu/adis16400.c 		st->adis.spi->max_speed_hz = ADIS16400_SPI_BURST;
adis              661 drivers/iio/imu/adis16400.c 		spi_setup(st->adis.spi);
adis              664 drivers/iio/imu/adis16400.c 	ret = spi_sync(adis->spi, &adis->msg);
adis              666 drivers/iio/imu/adis16400.c 		dev_err(&adis->spi->dev, "Failed to read data: %d\n", ret);
adis              669 drivers/iio/imu/adis16400.c 		st->adis.spi->max_speed_hz = old_speed_hz;
adis              670 drivers/iio/imu/adis16400.c 		spi_setup(st->adis.spi);
adis              674 drivers/iio/imu/adis16400.c 		buffer = adis->buffer + sizeof(u16);
adis              676 drivers/iio/imu/adis16400.c 		buffer = adis->buffer;
adis             1150 drivers/iio/imu/adis16400.c 		st->adis.burst = &adis16400_burst;
adis             1152 drivers/iio/imu/adis16400.c 			st->adis.burst->extra_len = sizeof(u16);
adis             1155 drivers/iio/imu/adis16400.c 	ret = adis_init(&st->adis, indio_dev, spi, &adis16400_data);
adis             1159 drivers/iio/imu/adis16400.c 	ret = adis_setup_buffer_and_trigger(&st->adis, indio_dev,
adis             1176 drivers/iio/imu/adis16400.c 	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
adis             1188 drivers/iio/imu/adis16400.c 	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
adis               70 drivers/iio/imu/adis16460.c 	struct adis adis;
adis               81 drivers/iio/imu/adis16460.c 	ret = adis_read_reg_16(&adis16460->adis, ADIS16460_REG_SERIAL_NUM,
adis               99 drivers/iio/imu/adis16460.c 	ret = adis_read_reg_16(&adis16460->adis, ADIS16460_REG_PROD_ID,
adis              117 drivers/iio/imu/adis16460.c 	ret = adis_read_reg_32(&adis16460->adis, ADIS16460_REG_FLASH_CNT,
adis              168 drivers/iio/imu/adis16460.c 	return adis_write_reg_16(&st->adis, ADIS16460_REG_DEC_RATE, t);
adis              178 drivers/iio/imu/adis16460.c 	ret = adis_read_reg_16(&st->adis, ADIS16460_REG_DEC_RATE, &t);
adis              322 drivers/iio/imu/adis16460.c static int adis16460_enable_irq(struct adis *adis, bool enable)
adis              329 drivers/iio/imu/adis16460.c 		enable_irq(adis->spi->irq);
adis              331 drivers/iio/imu/adis16460.c 		disable_irq(adis->spi->irq);
adis              343 drivers/iio/imu/adis16460.c 	adis_reset(&st->adis);
adis              346 drivers/iio/imu/adis16460.c 	ret = adis_write_reg_16(&st->adis, ADIS16460_REG_GLOB_CMD, BIT(1));
adis              351 drivers/iio/imu/adis16460.c 	ret = adis_check_status(&st->adis);
adis              355 drivers/iio/imu/adis16460.c 	ret = adis_read_reg_16(&st->adis, ADIS16460_REG_PROD_ID, &prod_id);
adis              425 drivers/iio/imu/adis16460.c 	ret = adis_init(&st->adis, indio_dev, spi, &adis16460_data);
adis              429 drivers/iio/imu/adis16460.c 	ret = adis_setup_buffer_and_trigger(&st->adis, indio_dev, NULL);
adis              433 drivers/iio/imu/adis16460.c 	adis16460_enable_irq(&st->adis, 0);
adis              448 drivers/iio/imu/adis16460.c 	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
adis              459 drivers/iio/imu/adis16460.c 	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
adis              159 drivers/iio/imu/adis16480.c 	struct adis adis;
adis              183 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_REV, &rev);
adis              208 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_Y, &year);
adis              212 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_DM, &md);
adis              235 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_SERIAL_NUM,
adis              253 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_PROD_ID,
adis              271 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_32(&adis16480->adis, ADIS16480_REG_FLASH_CNT,
adis              348 drivers/iio/imu/adis16480.c 	return adis_write_reg_16(&st->adis, reg, t);
adis              364 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&st->adis, reg, &t);
adis              433 drivers/iio/imu/adis16480.c 		return adis_write_reg_16(&st->adis, reg, bias);
adis              436 drivers/iio/imu/adis16480.c 		return adis_write_reg_32(&st->adis, reg, bias);
adis              456 drivers/iio/imu/adis16480.c 		ret = adis_read_reg_16(&st->adis, reg, &val16);
adis              462 drivers/iio/imu/adis16480.c 		ret = adis_read_reg_32(&st->adis, reg, &val32);
adis              485 drivers/iio/imu/adis16480.c 	return adis_write_reg_16(&st->adis, reg, scale);
adis              496 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&st->adis, reg, &val16);
adis              542 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&st->adis, reg, &val);
adis              568 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&st->adis, reg, &val);
adis              592 drivers/iio/imu/adis16480.c 	return adis_write_reg_16(&st->adis, reg, val);
adis              937 drivers/iio/imu/adis16480.c 	ret = adis_write_reg_16(&st->adis, ADIS16480_REG_SLP_CNT, BIT(9));
adis              945 drivers/iio/imu/adis16480.c static int adis16480_enable_irq(struct adis *adis, bool enable)
adis              950 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(adis, ADIS16480_REG_FNCTIO_CTRL, &val);
adis              957 drivers/iio/imu/adis16480.c 	return adis_write_reg_16(adis, ADIS16480_REG_FNCTIO_CTRL, val);
adis              967 drivers/iio/imu/adis16480.c 	adis_reset(&st->adis);
adis              970 drivers/iio/imu/adis16480.c 	ret = adis_write_reg_16(&st->adis, ADIS16480_REG_GLOB_CMD, BIT(1));
adis              975 drivers/iio/imu/adis16480.c 	ret = adis_check_status(&st->adis);
adis              979 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&st->adis, ADIS16480_REG_PROD_ID, &prod_id);
adis             1050 drivers/iio/imu/adis16480.c 	desc = irq_get_irq_data(st->adis.spi->irq);
adis             1052 drivers/iio/imu/adis16480.c 		dev_err(&st->adis.spi->dev, "Could not find IRQ %d\n", irq);
adis             1089 drivers/iio/imu/adis16480.c 		dev_err(&st->adis.spi->dev,
adis             1094 drivers/iio/imu/adis16480.c 	return adis_write_reg_16(&st->adis, ADIS16480_REG_FNCTIO_CTRL, val);
adis             1114 drivers/iio/imu/adis16480.c 	dev_info(&st->adis.spi->dev,
adis             1128 drivers/iio/imu/adis16480.c 	ret = adis_read_reg_16(&st->adis, ADIS16480_REG_FNCTIO_CTRL, &val);
adis             1139 drivers/iio/imu/adis16480.c 		dev_warn(&st->adis.spi->dev,
adis             1154 drivers/iio/imu/adis16480.c 	ret = adis_write_reg_16(&st->adis, ADIS16480_REG_FNCTIO_CTRL, val);
adis             1164 drivers/iio/imu/adis16480.c 	st->ext_clk = devm_clk_get(&st->adis.spi->dev, "sync");
adis             1171 drivers/iio/imu/adis16480.c 		dev_err(&st->adis.spi->dev, "failed to get ext clk\n");
adis             1176 drivers/iio/imu/adis16480.c 		st->ext_clk = devm_clk_get(&st->adis.spi->dev, "pps");
adis             1183 drivers/iio/imu/adis16480.c 			dev_err(&st->adis.spi->dev, "failed to get ext clk\n");
adis             1214 drivers/iio/imu/adis16480.c 	ret = adis_init(&st->adis, indio_dev, spi, &adis16480_data);
adis             1237 drivers/iio/imu/adis16480.c 	ret = adis_setup_buffer_and_trigger(&st->adis, indio_dev, NULL);
adis             1256 drivers/iio/imu/adis16480.c 	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
adis             1270 drivers/iio/imu/adis16480.c 	adis_cleanup_buffer_and_trigger(&st->adis, indio_dev);
adis               25 drivers/iio/imu/adis_buffer.c 	struct adis *adis = iio_device_get_drvdata(indio_dev);
adis               31 drivers/iio/imu/adis_buffer.c 	burst_length += adis->burst->extra_len;
adis               33 drivers/iio/imu/adis_buffer.c 	adis->xfer = kcalloc(2, sizeof(*adis->xfer), GFP_KERNEL);
adis               34 drivers/iio/imu/adis_buffer.c 	if (!adis->xfer)
adis               37 drivers/iio/imu/adis_buffer.c 	adis->buffer = kzalloc(burst_length + sizeof(u16), GFP_KERNEL);
adis               38 drivers/iio/imu/adis_buffer.c 	if (!adis->buffer) {
adis               39 drivers/iio/imu/adis_buffer.c 		kfree(adis->xfer);
adis               40 drivers/iio/imu/adis_buffer.c 		adis->xfer = NULL;
adis               44 drivers/iio/imu/adis_buffer.c 	tx = adis->buffer + burst_length;
adis               45 drivers/iio/imu/adis_buffer.c 	tx[0] = ADIS_READ_REG(adis->burst->reg_cmd);
adis               48 drivers/iio/imu/adis_buffer.c 	adis->xfer[0].tx_buf = tx;
adis               49 drivers/iio/imu/adis_buffer.c 	adis->xfer[0].bits_per_word = 8;
adis               50 drivers/iio/imu/adis_buffer.c 	adis->xfer[0].len = 2;
adis               51 drivers/iio/imu/adis_buffer.c 	adis->xfer[1].rx_buf = adis->buffer;
adis               52 drivers/iio/imu/adis_buffer.c 	adis->xfer[1].bits_per_word = 8;
adis               53 drivers/iio/imu/adis_buffer.c 	adis->xfer[1].len = burst_length;
adis               55 drivers/iio/imu/adis_buffer.c 	spi_message_init(&adis->msg);
adis               56 drivers/iio/imu/adis_buffer.c 	spi_message_add_tail(&adis->xfer[0], &adis->msg);
adis               57 drivers/iio/imu/adis_buffer.c 	spi_message_add_tail(&adis->xfer[1], &adis->msg);
adis               65 drivers/iio/imu/adis_buffer.c 	struct adis *adis = iio_device_get_drvdata(indio_dev);
adis               71 drivers/iio/imu/adis_buffer.c 	kfree(adis->xfer);
adis               72 drivers/iio/imu/adis_buffer.c 	kfree(adis->buffer);
adis               74 drivers/iio/imu/adis_buffer.c 	if (adis->burst && adis->burst->en)
adis               79 drivers/iio/imu/adis_buffer.c 	adis->xfer = kcalloc(scan_count + 1, sizeof(*adis->xfer), GFP_KERNEL);
adis               80 drivers/iio/imu/adis_buffer.c 	if (!adis->xfer)
adis               83 drivers/iio/imu/adis_buffer.c 	adis->buffer = kcalloc(indio_dev->scan_bytes, 2, GFP_KERNEL);
adis               84 drivers/iio/imu/adis_buffer.c 	if (!adis->buffer) {
adis               85 drivers/iio/imu/adis_buffer.c 		kfree(adis->xfer);
adis               86 drivers/iio/imu/adis_buffer.c 		adis->xfer = NULL;
adis               90 drivers/iio/imu/adis_buffer.c 	rx = adis->buffer;
adis               93 drivers/iio/imu/adis_buffer.c 	spi_message_init(&adis->msg);
adis               96 drivers/iio/imu/adis_buffer.c 		adis->xfer[j].bits_per_word = 8;
adis               98 drivers/iio/imu/adis_buffer.c 			adis->xfer[j].cs_change = 1;
adis               99 drivers/iio/imu/adis_buffer.c 		adis->xfer[j].len = 2;
adis              100 drivers/iio/imu/adis_buffer.c 		adis->xfer[j].delay_usecs = adis->data->read_delay;
adis              102 drivers/iio/imu/adis_buffer.c 			adis->xfer[j].tx_buf = &tx[j];
adis              104 drivers/iio/imu/adis_buffer.c 			adis->xfer[j].rx_buf = &rx[j - 1];
adis              105 drivers/iio/imu/adis_buffer.c 		spi_message_add_tail(&adis->xfer[j], &adis->msg);
adis              125 drivers/iio/imu/adis_buffer.c 	struct adis *adis = iio_device_get_drvdata(indio_dev);
adis              128 drivers/iio/imu/adis_buffer.c 	if (!adis->buffer)
adis              131 drivers/iio/imu/adis_buffer.c 	if (adis->data->has_paging) {
adis              132 drivers/iio/imu/adis_buffer.c 		mutex_lock(&adis->txrx_lock);
adis              133 drivers/iio/imu/adis_buffer.c 		if (adis->current_page != 0) {
adis              134 drivers/iio/imu/adis_buffer.c 			adis->tx[0] = ADIS_WRITE_REG(ADIS_REG_PAGE_ID);
adis              135 drivers/iio/imu/adis_buffer.c 			adis->tx[1] = 0;
adis              136 drivers/iio/imu/adis_buffer.c 			spi_write(adis->spi, adis->tx, 2);
adis              140 drivers/iio/imu/adis_buffer.c 	ret = spi_sync(adis->spi, &adis->msg);
adis              142 drivers/iio/imu/adis_buffer.c 		dev_err(&adis->spi->dev, "Failed to read data: %d", ret);
adis              145 drivers/iio/imu/adis_buffer.c 	if (adis->data->has_paging) {
adis              146 drivers/iio/imu/adis_buffer.c 		adis->current_page = 0;
adis              147 drivers/iio/imu/adis_buffer.c 		mutex_unlock(&adis->txrx_lock);
adis              150 drivers/iio/imu/adis_buffer.c 	iio_push_to_buffers_with_timestamp(indio_dev, adis->buffer,
adis              174 drivers/iio/imu/adis_buffer.c int adis_setup_buffer_and_trigger(struct adis *adis, struct iio_dev *indio_dev,
adis              187 drivers/iio/imu/adis_buffer.c 	if (adis->spi->irq) {
adis              188 drivers/iio/imu/adis_buffer.c 		ret = adis_probe_trigger(adis, indio_dev);
adis              207 drivers/iio/imu/adis_buffer.c void adis_cleanup_buffer_and_trigger(struct adis *adis,
adis              210 drivers/iio/imu/adis_buffer.c 	if (adis->spi->irq)
adis              211 drivers/iio/imu/adis_buffer.c 		adis_remove_trigger(adis);
adis              212 drivers/iio/imu/adis_buffer.c 	kfree(adis->buffer);
adis              213 drivers/iio/imu/adis_buffer.c 	kfree(adis->xfer);
adis               21 drivers/iio/imu/adis_trigger.c 	struct adis *adis = iio_trigger_get_drvdata(trig);
adis               23 drivers/iio/imu/adis_trigger.c 	return adis_enable_irq(adis, state);
adis               39 drivers/iio/imu/adis_trigger.c int adis_probe_trigger(struct adis *adis, struct iio_dev *indio_dev)
adis               43 drivers/iio/imu/adis_trigger.c 	adis->trig = iio_trigger_alloc("%s-dev%d", indio_dev->name,
adis               45 drivers/iio/imu/adis_trigger.c 	if (adis->trig == NULL)
adis               48 drivers/iio/imu/adis_trigger.c 	adis->trig->dev.parent = &adis->spi->dev;
adis               49 drivers/iio/imu/adis_trigger.c 	adis->trig->ops = &adis_trigger_ops;
adis               50 drivers/iio/imu/adis_trigger.c 	iio_trigger_set_drvdata(adis->trig, adis);
adis               52 drivers/iio/imu/adis_trigger.c 	ret = request_irq(adis->spi->irq,
adis               56 drivers/iio/imu/adis_trigger.c 			  adis->trig);
adis               60 drivers/iio/imu/adis_trigger.c 	ret = iio_trigger_register(adis->trig);
adis               62 drivers/iio/imu/adis_trigger.c 	indio_dev->trig = iio_trigger_get(adis->trig);
adis               69 drivers/iio/imu/adis_trigger.c 	free_irq(adis->spi->irq, adis->trig);
adis               71 drivers/iio/imu/adis_trigger.c 	iio_trigger_free(adis->trig);
adis               82 drivers/iio/imu/adis_trigger.c void adis_remove_trigger(struct adis *adis)
adis               84 drivers/iio/imu/adis_trigger.c 	iio_trigger_unregister(adis->trig);
adis               85 drivers/iio/imu/adis_trigger.c 	free_irq(adis->spi->irq, adis->trig);
adis               86 drivers/iio/imu/adis_trigger.c 	iio_trigger_free(adis->trig);
adis              156 drivers/staging/iio/accel/adis16203.c 	struct adis *st = iio_priv(indio_dev);
adis              168 drivers/staging/iio/accel/adis16203.c 	struct adis *st = iio_priv(indio_dev);
adis              262 drivers/staging/iio/accel/adis16203.c 	struct adis *st;
adis              306 drivers/staging/iio/accel/adis16203.c 	struct adis *st = iio_priv(indio_dev);
adis              208 drivers/staging/iio/accel/adis16240.c 	struct adis *st = iio_priv(indio_dev);
adis              250 drivers/staging/iio/accel/adis16240.c 	struct adis *st = iio_priv(indio_dev);
adis              311 drivers/staging/iio/accel/adis16240.c 	struct adis *st = iio_priv(indio_dev);
adis              385 drivers/staging/iio/accel/adis16240.c 	struct adis *st;
adis              427 drivers/staging/iio/accel/adis16240.c 	struct adis *st = iio_priv(indio_dev);
adis               22 include/linux/iio/imu/adis.h struct adis;
adis               52 include/linux/iio/imu/adis.h 	int (*enable_irq)(struct adis *adis, bool enable);
adis               74 include/linux/iio/imu/adis.h int adis_init(struct adis *adis, struct iio_dev *indio_dev,
adis               76 include/linux/iio/imu/adis.h int adis_reset(struct adis *adis);
adis               78 include/linux/iio/imu/adis.h int adis_write_reg(struct adis *adis, unsigned int reg,
adis               80 include/linux/iio/imu/adis.h int adis_read_reg(struct adis *adis, unsigned int reg,
adis               89 include/linux/iio/imu/adis.h static inline int adis_write_reg_8(struct adis *adis, unsigned int reg,
adis               92 include/linux/iio/imu/adis.h 	return adis_write_reg(adis, reg, val, 1);
adis              101 include/linux/iio/imu/adis.h static inline int adis_write_reg_16(struct adis *adis, unsigned int reg,
adis              104 include/linux/iio/imu/adis.h 	return adis_write_reg(adis, reg, val, 2);
adis              113 include/linux/iio/imu/adis.h static inline int adis_write_reg_32(struct adis *adis, unsigned int reg,
adis              116 include/linux/iio/imu/adis.h 	return adis_write_reg(adis, reg, val, 4);
adis              125 include/linux/iio/imu/adis.h static inline int adis_read_reg_16(struct adis *adis, unsigned int reg,
adis              131 include/linux/iio/imu/adis.h 	ret = adis_read_reg(adis, reg, &tmp, 2);
adis              143 include/linux/iio/imu/adis.h static inline int adis_read_reg_32(struct adis *adis, unsigned int reg,
adis              149 include/linux/iio/imu/adis.h 	ret = adis_read_reg(adis, reg, &tmp, 4);
adis              155 include/linux/iio/imu/adis.h int adis_enable_irq(struct adis *adis, bool enable);
adis              156 include/linux/iio/imu/adis.h int adis_check_status(struct adis *adis);
adis              158 include/linux/iio/imu/adis.h int adis_initial_startup(struct adis *adis);
adis              250 include/linux/iio/imu/adis.h int adis_setup_buffer_and_trigger(struct adis *adis,
adis              252 include/linux/iio/imu/adis.h void adis_cleanup_buffer_and_trigger(struct adis *adis,
adis              255 include/linux/iio/imu/adis.h int adis_probe_trigger(struct adis *adis, struct iio_dev *indio_dev);
adis              256 include/linux/iio/imu/adis.h void adis_remove_trigger(struct adis *adis);
adis              263 include/linux/iio/imu/adis.h static inline int adis_setup_buffer_and_trigger(struct adis *adis,
adis              269 include/linux/iio/imu/adis.h static inline void adis_cleanup_buffer_and_trigger(struct adis *adis,
adis              274 include/linux/iio/imu/adis.h static inline int adis_probe_trigger(struct adis *adis,
adis              280 include/linux/iio/imu/adis.h static inline void adis_remove_trigger(struct adis *adis)