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)