Symbol: adis
drivers/iio/accel/adis16201.c
102
struct adis *st = iio_priv(indio_dev);
drivers/iio/accel/adis16201.c
183
struct adis *st = iio_priv(indio_dev);
drivers/iio/accel/adis16201.c
260
struct adis *st;
drivers/iio/accel/adis16209.c
110
struct adis *st = iio_priv(indio_dev);
drivers/iio/accel/adis16209.c
134
struct adis *st = iio_priv(indio_dev);
drivers/iio/accel/adis16209.c
271
struct adis *st;
drivers/iio/gyro/adis16136.c
113
ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_PROD_ID,
drivers/iio/gyro/adis16136.c
131
ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_FLASH_CNT,
drivers/iio/gyro/adis16136.c
179
return adis_write_reg_16(&adis16136->adis, ADIS16136_REG_SMPL_PRD, t);
drivers/iio/gyro/adis16136.c
187
ret = __adis_read_reg_16(&adis16136->adis, ADIS16136_REG_SMPL_PRD, &t);
drivers/iio/gyro/adis16136.c
224
adis_dev_auto_lock(&adis16136->adis);
drivers/iio/gyro/adis16136.c
253
adis_dev_auto_lock(&adis16136->adis);
drivers/iio/gyro/adis16136.c
263
return __adis_write_reg_16(&adis16136->adis, ADIS16136_REG_AVG_CNT, i);
drivers/iio/gyro/adis16136.c
273
adis_dev_auto_lock(&adis16136->adis);
drivers/iio/gyro/adis16136.c
275
ret = __adis_read_reg_16(&adis16136->adis, ADIS16136_REG_AVG_CNT,
drivers/iio/gyro/adis16136.c
313
ret = adis_read_reg_32(&adis16136->adis,
drivers/iio/gyro/adis16136.c
335
return adis_write_reg_32(&adis16136->adis,
drivers/iio/gyro/adis16136.c
409
ret = adis_write_reg_16(&adis16136->adis, ADIS16136_REG_SLP_CTRL, 0xff);
drivers/iio/gyro/adis16136.c
424
ret = __adis_initial_startup(&adis16136->adis);
drivers/iio/gyro/adis16136.c
428
ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_PROD_ID,
drivers/iio/gyro/adis16136.c
540
ret = adis_init(&adis16136->adis, indio_dev, spi, adis16136_data);
drivers/iio/gyro/adis16136.c
544
ret = devm_adis_setup_buffer_and_trigger(&adis16136->adis, indio_dev, NULL);
drivers/iio/gyro/adis16136.c
63
struct adis adis;
drivers/iio/gyro/adis16136.c
77
ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_SERIAL_NUM,
drivers/iio/gyro/adis16136.c
82
ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_LOT1, &lot1);
drivers/iio/gyro/adis16136.c
86
ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_LOT2, &lot2);
drivers/iio/gyro/adis16136.c
90
ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_LOT3, &lot3);
drivers/iio/gyro/adis16260.c
108
struct adis adis;
drivers/iio/gyro/adis16260.c
175
ret = adis_write_reg_16(&adis16260->adis, ADIS16260_SLP_CNT, val);
drivers/iio/gyro/adis16260.c
193
struct adis *adis = &adis16260->adis;
drivers/iio/gyro/adis16260.c
233
ret = adis_read_reg_16(adis, addr, &val16);
drivers/iio/gyro/adis16260.c
241
ret = adis_read_reg_16(adis, addr, &val16);
drivers/iio/gyro/adis16260.c
248
ret = adis_read_reg_16(adis, ADIS16260_SMPL_PRD, &val16);
drivers/iio/gyro/adis16260.c
252
if (spi_get_device_id(adis->spi)->driver_data)
drivers/iio/gyro/adis16260.c
272
struct adis *adis = &adis16260->adis;
drivers/iio/gyro/adis16260.c
282
return adis_write_reg_16(adis, addr, val);
drivers/iio/gyro/adis16260.c
288
return adis_write_reg_16(adis, addr, val);
drivers/iio/gyro/adis16260.c
290
if (spi_get_device_id(adis->spi)->driver_data)
drivers/iio/gyro/adis16260.c
299
adis_dev_auto_scoped_lock(adis) {
drivers/iio/gyro/adis16260.c
301
adis->spi->max_speed_hz = ADIS16260_SPI_SLOW;
drivers/iio/gyro/adis16260.c
303
adis->spi->max_speed_hz = ADIS16260_SPI_FAST;
drivers/iio/gyro/adis16260.c
304
return __adis_write_reg_8(adis, ADIS16260_SMPL_PRD, t);
drivers/iio/gyro/adis16260.c
386
ret = adis_init(&adis16260->adis, indio_dev, spi, &adis16260_data);
drivers/iio/gyro/adis16260.c
390
ret = devm_adis_setup_buffer_and_trigger(&adis16260->adis, indio_dev, NULL);
drivers/iio/gyro/adis16260.c
395
ret = __adis_initial_startup(&adis16260->adis);
drivers/iio/imu/adis.c
103
ret = spi_sync(adis->spi, &msg);
drivers/iio/imu/adis.c
105
dev_err(&adis->spi->dev, "Failed to write register 0x%02X: %d\n",
drivers/iio/imu/adis.c
108
adis->current_page = page;
drivers/iio/imu/adis.c
122
int __adis_read_reg(struct adis *adis, unsigned int reg, unsigned int *val,
drivers/iio/imu/adis.c
130
.tx_buf = adis->tx,
drivers/iio/imu/adis.c
133
.delay.value = adis->data->write_delay,
drivers/iio/imu/adis.c
136
.tx_buf = adis->tx + 2,
drivers/iio/imu/adis.c
139
.delay.value = adis->data->read_delay,
drivers/iio/imu/adis.c
142
.tx_buf = adis->tx + 4,
drivers/iio/imu/adis.c
143
.rx_buf = adis->rx,
drivers/iio/imu/adis.c
146
.delay.value = adis->data->read_delay,
drivers/iio/imu/adis.c
149
.rx_buf = adis->rx + 2,
drivers/iio/imu/adis.c
151
.delay.value = adis->data->read_delay,
drivers/iio/imu/adis.c
158
if (adis->current_page != page) {
drivers/iio/imu/adis.c
159
adis->tx[0] = ADIS_WRITE_REG(ADIS_REG_PAGE_ID);
drivers/iio/imu/adis.c
160
adis->tx[1] = page;
drivers/iio/imu/adis.c
166
adis->tx[2] = ADIS_READ_REG(reg + 2);
drivers/iio/imu/adis.c
167
adis->tx[3] = 0;
drivers/iio/imu/adis.c
171
adis->tx[4] = ADIS_READ_REG(reg);
drivers/iio/imu/adis.c
172
adis->tx[5] = 0;
drivers/iio/imu/adis.c
180
ret = spi_sync(adis->spi, &msg);
drivers/iio/imu/adis.c
182
dev_err(&adis->spi->dev, "Failed to read register 0x%02X: %d\n",
drivers/iio/imu/adis.c
187
adis->current_page = page;
drivers/iio/imu/adis.c
191
*val = get_unaligned_be32(adis->rx);
drivers/iio/imu/adis.c
194
*val = get_unaligned_be16(adis->rx + 2);
drivers/iio/imu/adis.c
211
int __adis_update_bits_base(struct adis *adis, unsigned int reg, const u32 mask,
drivers/iio/imu/adis.c
217
ret = adis->ops->read(adis, reg, &__val, size);
drivers/iio/imu/adis.c
223
return adis->ops->write(adis, reg, __val, size);
drivers/iio/imu/adis.c
232
struct adis *adis = iio_device_get_drvdata(indio_dev);
drivers/iio/imu/adis.c
238
ret = adis_read_reg_16(adis, reg, &val16);
drivers/iio/imu/adis.c
245
return adis_write_reg_16(adis, reg, writeval);
drivers/iio/imu/adis.c
258
int __adis_enable_irq(struct adis *adis, bool enable)
drivers/iio/imu/adis.c
263
if (adis->data->enable_irq)
drivers/iio/imu/adis.c
264
return adis->data->enable_irq(adis, enable);
drivers/iio/imu/adis.c
266
if (adis->data->unmasked_drdy) {
drivers/iio/imu/adis.c
268
enable_irq(adis->spi->irq);
drivers/iio/imu/adis.c
270
disable_irq(adis->spi->irq);
drivers/iio/imu/adis.c
275
ret = __adis_read_reg_16(adis, adis->data->msc_ctrl_reg, &msc);
drivers/iio/imu/adis.c
286
return __adis_write_reg_16(adis, adis->data->msc_ctrl_reg, msc);
drivers/iio/imu/adis.c
296
int __adis_check_status(struct adis *adis)
drivers/iio/imu/adis.c
304
if (adis->data->diag_stat_size) {
drivers/iio/imu/adis.c
305
ret = adis->ops->read(adis, adis->data->diag_stat_reg, &status,
drivers/iio/imu/adis.c
306
adis->data->diag_stat_size);
drivers/iio/imu/adis.c
308
ret = __adis_read_reg_16(adis, adis->data->diag_stat_reg,
drivers/iio/imu/adis.c
315
status &= adis->data->status_error_mask;
drivers/iio/imu/adis.c
320
diag_stat_bits = BITS_PER_BYTE * (adis->data->diag_stat_size ?
drivers/iio/imu/adis.c
321
adis->data->diag_stat_size : 2);
drivers/iio/imu/adis.c
325
dev_err(&adis->spi->dev, "%s.\n",
drivers/iio/imu/adis.c
326
adis->data->status_error_msgs[i]);
drivers/iio/imu/adis.c
33
int __adis_write_reg(struct adis *adis, unsigned int reg, unsigned int value,
drivers/iio/imu/adis.c
340
int __adis_reset(struct adis *adis)
drivers/iio/imu/adis.c
343
const struct adis_timeout *timeouts = adis->data->timeouts;
drivers/iio/imu/adis.c
345
ret = __adis_write_reg_8(adis, adis->data->glob_cmd_reg,
drivers/iio/imu/adis.c
348
dev_err(&adis->spi->dev, "Failed to reset device: %d\n", ret);
drivers/iio/imu/adis.c
358
static int adis_self_test(struct adis *adis)
drivers/iio/imu/adis.c
361
const struct adis_timeout *timeouts = adis->data->timeouts;
drivers/iio/imu/adis.c
363
ret = __adis_write_reg_16(adis, adis->data->self_test_reg,
drivers/iio/imu/adis.c
364
adis->data->self_test_mask);
drivers/iio/imu/adis.c
366
dev_err(&adis->spi->dev, "Failed to initiate self test: %d\n",
drivers/iio/imu/adis.c
373
ret = __adis_check_status(adis);
drivers/iio/imu/adis.c
375
if (adis->data->self_test_no_autoclear)
drivers/iio/imu/adis.c
376
__adis_write_reg_16(adis, adis->data->self_test_reg, 0x00);
drivers/iio/imu/adis.c
398
int __adis_initial_startup(struct adis *adis)
drivers/iio/imu/adis.c
400
const struct adis_timeout *timeouts = adis->data->timeouts;
drivers/iio/imu/adis.c
406
gpio = devm_gpiod_get_optional(&adis->spi->dev, "reset", GPIOD_OUT_HIGH);
drivers/iio/imu/adis.c
41
.tx_buf = adis->tx,
drivers/iio/imu/adis.c
416
ret = __adis_reset(adis);
drivers/iio/imu/adis.c
421
ret = adis_self_test(adis);
drivers/iio/imu/adis.c
430
if (!adis->data->unmasked_drdy)
drivers/iio/imu/adis.c
431
__adis_enable_irq(adis, false);
drivers/iio/imu/adis.c
433
if (!adis->data->prod_id_reg)
drivers/iio/imu/adis.c
436
ret = adis_read_reg_16(adis, adis->data->prod_id_reg, &prod_id);
drivers/iio/imu/adis.c
44
.delay.value = adis->data->write_delay,
drivers/iio/imu/adis.c
440
if (prod_id != adis->data->prod_id)
drivers/iio/imu/adis.c
441
dev_warn(&adis->spi->dev,
drivers/iio/imu/adis.c
443
adis->data->prod_id, prod_id);
drivers/iio/imu/adis.c
468
struct adis *adis = iio_device_get_drvdata(indio_dev);
drivers/iio/imu/adis.c
47
.tx_buf = adis->tx + 2,
drivers/iio/imu/adis.c
472
guard(mutex)(&adis->state_lock);
drivers/iio/imu/adis.c
474
ret = adis->ops->read(adis, chan->address, &uval,
drivers/iio/imu/adis.c
480
ret = __adis_check_status(adis);
drivers/iio/imu/adis.c
50
.delay.value = adis->data->write_delay,
drivers/iio/imu/adis.c
512
int adis_init(struct adis *adis, struct iio_dev *indio_dev,
drivers/iio/imu/adis.c
520
mutex_init(&adis->state_lock);
drivers/iio/imu/adis.c
527
adis->spi = spi;
drivers/iio/imu/adis.c
528
adis->data = data;
drivers/iio/imu/adis.c
529
if (!adis->ops)
drivers/iio/imu/adis.c
53
.tx_buf = adis->tx + 4,
drivers/iio/imu/adis.c
530
adis->ops = &adis_default_ops;
drivers/iio/imu/adis.c
531
else if (!adis->ops->write || !adis->ops->read || !adis->ops->reset)
drivers/iio/imu/adis.c
534
iio_device_set_drvdata(indio_dev, adis);
drivers/iio/imu/adis.c
538
adis->current_page = -1;
drivers/iio/imu/adis.c
541
adis->current_page = 0;
drivers/iio/imu/adis.c
56
.delay.value = adis->data->write_delay,
drivers/iio/imu/adis.c
59
.tx_buf = adis->tx + 6,
drivers/iio/imu/adis.c
61
.delay.value = adis->data->write_delay,
drivers/iio/imu/adis.c
64
.tx_buf = adis->tx + 8,
drivers/iio/imu/adis.c
66
.delay.value = adis->data->write_delay,
drivers/iio/imu/adis.c
73
if (adis->current_page != page) {
drivers/iio/imu/adis.c
74
adis->tx[0] = ADIS_WRITE_REG(ADIS_REG_PAGE_ID);
drivers/iio/imu/adis.c
75
adis->tx[1] = page;
drivers/iio/imu/adis.c
81
adis->tx[8] = ADIS_WRITE_REG(reg + 3);
drivers/iio/imu/adis.c
82
adis->tx[9] = (value >> 24) & 0xff;
drivers/iio/imu/adis.c
83
adis->tx[6] = ADIS_WRITE_REG(reg + 2);
drivers/iio/imu/adis.c
84
adis->tx[7] = (value >> 16) & 0xff;
drivers/iio/imu/adis.c
87
adis->tx[4] = ADIS_WRITE_REG(reg + 1);
drivers/iio/imu/adis.c
88
adis->tx[5] = (value >> 8) & 0xff;
drivers/iio/imu/adis.c
91
adis->tx[2] = ADIS_WRITE_REG(reg);
drivers/iio/imu/adis.c
92
adis->tx[3] = value & 0xff;
drivers/iio/imu/adis16400.c
1166
ret = adis_init(&st->adis, indio_dev, spi, adis16400_data);
drivers/iio/imu/adis16400.c
1170
ret = devm_adis_setup_buffer_and_trigger(&st->adis, indio_dev, adis16400_trigger_handler);
drivers/iio/imu/adis16400.c
176
struct adis adis;
drivers/iio/imu/adis16400.c
214
ret = adis_read_reg_16(&st->adis, ADIS16334_LOT_ID1, &lot1);
drivers/iio/imu/adis16400.c
218
ret = adis_read_reg_16(&st->adis, ADIS16334_LOT_ID2, &lot2);
drivers/iio/imu/adis16400.c
222
ret = adis_read_reg_16(&st->adis, ADIS16334_SERIAL_NUMBER,
drivers/iio/imu/adis16400.c
246
ret = adis_read_reg_16(&st->adis, ADIS16400_PRODUCT_ID, &prod_id);
drivers/iio/imu/adis16400.c
263
ret = adis_read_reg_16(&st->adis, ADIS16400_FLASH_CNT, &flash_count);
drivers/iio/imu/adis16400.c
297
ret = __adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &t);
drivers/iio/imu/adis16400.c
321
return __adis_write_reg_16(&st->adis, ADIS16400_SMPL_PRD, t);
drivers/iio/imu/adis16400.c
329
ret = __adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &t);
drivers/iio/imu/adis16400.c
357
st->adis.spi->max_speed_hz = ADIS16400_SPI_SLOW;
drivers/iio/imu/adis16400.c
359
st->adis.spi->max_speed_hz = ADIS16400_SPI_FAST;
drivers/iio/imu/adis16400.c
361
return __adis_write_reg_8(&st->adis, ADIS16400_SMPL_PRD, val);
drivers/iio/imu/adis16400.c
386
ret = __adis_read_reg_16(&st->adis, ADIS16400_SENS_AVG, &val16);
drivers/iio/imu/adis16400.c
390
ret = __adis_write_reg_16(&st->adis, ADIS16400_SENS_AVG,
drivers/iio/imu/adis16400.c
401
ret = adis_write_reg_16(&st->adis, ADIS16400_SLP_CNT,
drivers/iio/imu/adis16400.c
419
st->adis.spi->max_speed_hz = ADIS16400_SPI_SLOW;
drivers/iio/imu/adis16400.c
421
st->adis.spi->max_speed_hz = ADIS16400_SPI_FAST;
drivers/iio/imu/adis16400.c
422
st->adis.spi->mode = SPI_MODE_3;
drivers/iio/imu/adis16400.c
423
spi_setup(st->adis.spi);
drivers/iio/imu/adis16400.c
425
ret = __adis_initial_startup(&st->adis);
drivers/iio/imu/adis16400.c
430
ret = adis_read_reg_16(&st->adis,
drivers/iio/imu/adis16400.c
446
spi_get_chipselect(st->adis.spi, 0), st->adis.spi->irq);
drivers/iio/imu/adis16400.c
450
ret = adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &smp_prd);
drivers/iio/imu/adis16400.c
455
st->adis.spi->max_speed_hz = ADIS16400_SPI_FAST;
drivers/iio/imu/adis16400.c
456
spi_setup(st->adis.spi);
drivers/iio/imu/adis16400.c
481
return adis_write_reg_16(&st->adis,
drivers/iio/imu/adis16400.c
489
adis_dev_auto_scoped_lock(&st->adis) {
drivers/iio/imu/adis16400.c
506
adis_dev_auto_scoped_lock(&st->adis)
drivers/iio/imu/adis16400.c
561
ret = adis_read_reg_16(&st->adis,
drivers/iio/imu/adis16400.c
573
adis_dev_auto_scoped_lock(&st->adis) {
drivers/iio/imu/adis16400.c
578
ret = __adis_read_reg_16(&st->adis, ADIS16400_SENS_AVG,
drivers/iio/imu/adis16400.c
592
adis_dev_auto_scoped_lock(&st->adis) {
drivers/iio/imu/adis16400.c
611
struct adis *adis = &st->adis;
drivers/iio/imu/adis16400.c
615
ret = spi_sync(adis->spi, &adis->msg);
drivers/iio/imu/adis16400.c
617
dev_err(&adis->spi->dev, "Failed to read data: %d\n", ret);
drivers/iio/imu/adis16400.c
620
buffer = adis->buffer + sizeof(u16);
drivers/iio/imu/adis16400.c
632
adis->buffer,
drivers/iio/imu/adis16460.c
114
ret = adis_read_reg_32(&adis16460->adis, ADIS16460_REG_FLASH_CNT,
drivers/iio/imu/adis16460.c
158
return adis_write_reg_16(&st->adis, ADIS16460_REG_DEC_RATE, t);
drivers/iio/imu/adis16460.c
168
ret = adis_read_reg_16(&st->adis, ADIS16460_REG_DEC_RATE, &t);
drivers/iio/imu/adis16460.c
375
ret = adis_init(&st->adis, indio_dev, spi, &adis16460_data);
drivers/iio/imu/adis16460.c
379
ret = devm_adis_setup_buffer_and_trigger(&st->adis, indio_dev, NULL);
drivers/iio/imu/adis16460.c
383
ret = __adis_initial_startup(&st->adis);
drivers/iio/imu/adis16460.c
69
struct adis adis;
drivers/iio/imu/adis16460.c
78
ret = adis_read_reg_16(&adis16460->adis, ADIS16460_REG_SERIAL_NUM,
drivers/iio/imu/adis16460.c
96
ret = adis_read_reg_16(&adis16460->adis, ADIS16460_REG_PROD_ID,
drivers/iio/imu/adis16475.c
136
struct adis adis;
drivers/iio/imu/adis16475.c
1472
ret = __adis_update_bits(&st->adis, ADIS16475_REG_MSG_CTRL,
drivers/iio/imu/adis16475.c
1510
struct adis *adis = &st->adis;
drivers/iio/imu/adis16475.c
1522
ret = __adis_update_bits(&st->adis, ADIS16475_REG_MSG_CTRL,
drivers/iio/imu/adis16475.c
1535
adis->burst_extra_len = (6 + timestamp32) * sizeof(u16);
drivers/iio/imu/adis16475.c
1536
adis->xfer[1].len += (6 + timestamp32) * sizeof(u16);
drivers/iio/imu/adis16475.c
1538
dev_dbg(&adis->spi->dev, "Enable burst32 mode, xfer:%d",
drivers/iio/imu/adis16475.c
1539
adis->xfer[1].len);
drivers/iio/imu/adis16475.c
1544
ret = __adis_update_bits(&st->adis, ADIS16475_REG_MSG_CTRL,
drivers/iio/imu/adis16475.c
1552
adis->burst_extra_len = 0;
drivers/iio/imu/adis16475.c
1553
adis->xfer[1].len -= (6 + timestamp32) * sizeof(u16);
drivers/iio/imu/adis16475.c
1554
dev_dbg(&adis->spi->dev, "Disable burst32 mode, xfer:%d\n",
drivers/iio/imu/adis16475.c
1555
adis->xfer[1].len);
drivers/iio/imu/adis16475.c
1563
struct adis *adis = &st->adis;
drivers/iio/imu/adis16475.c
1577
burst_size = adis->data->burst_max_len;
drivers/iio/imu/adis16475.c
1580
ret = spi_sync(adis->spi, &adis->msg);
drivers/iio/imu/adis16475.c
1584
buffer = adis->buffer;
drivers/iio/imu/adis16475.c
1587
valid = adis16475_validate_crc(adis->buffer, crc, burst_size, start_idx);
drivers/iio/imu/adis16475.c
1589
dev_err(&adis->spi->dev, "Invalid crc\n");
drivers/iio/imu/adis16475.c
1638
adis_read_reg_16(adis, reg, &val);
drivers/iio/imu/adis16475.c
1678
static void adis16575_update_msg_for_burst(struct adis *adis, u8 burst_req)
drivers/iio/imu/adis16475.c
1683
if (adis->data->burst_max_len)
drivers/iio/imu/adis16475.c
1684
burst_max_length = adis->data->burst_max_len;
drivers/iio/imu/adis16475.c
1686
burst_max_length = adis->data->burst_len + adis->burst_extra_len;
drivers/iio/imu/adis16475.c
1688
tx = adis->buffer + burst_max_length;
drivers/iio/imu/adis16475.c
1696
struct adis *adis = &st->adis;
drivers/iio/imu/adis16475.c
1698
adis16575_update_msg_for_burst(adis, burst_req);
drivers/iio/imu/adis16475.c
1701
return spi_sync(adis->spi, &adis->msg);
drivers/iio/imu/adis16475.c
1725
struct adis *adis = &st->adis;
drivers/iio/imu/adis16475.c
1729
adis_dev_auto_lock(&st->adis);
drivers/iio/imu/adis16475.c
1731
ret = __adis_read_reg_16(adis, ADIS16575_REG_FIFO_CNT, &fifo_cnt);
drivers/iio/imu/adis16475.c
1746
ret = adis16575_custom_burst_read(pf, adis->data->burst_reg_cmd);
drivers/iio/imu/adis16475.c
177
ret = adis_read_reg_16(&st->adis, ADIS16475_REG_FIRM_REV, &rev);
drivers/iio/imu/adis16475.c
1773
struct device *dev = &st->adis.spi->dev;
drivers/iio/imu/adis16475.c
1781
ret = __adis_update_bits(&st->adis, ADIS16475_REG_MSG_CTRL,
drivers/iio/imu/adis16475.c
1830
ret = __adis_write_reg_16(&st->adis,
drivers/iio/imu/adis16475.c
1848
ret = __adis_update_bits(&st->adis, ADIS16475_REG_MSG_CTRL,
drivers/iio/imu/adis16475.c
1864
struct spi_device *spi = st->adis.spi;
drivers/iio/imu/adis16475.c
1868
if (st->adis.data->has_fifo) {
drivers/iio/imu/adis16475.c
1876
st->adis.irq_flag = IRQF_TRIGGER_HIGH;
drivers/iio/imu/adis16475.c
1879
st->adis.irq_flag = IRQF_TRIGGER_LOW;
drivers/iio/imu/adis16475.c
1888
ret = adis_update_bits(&st->adis, ADIS16475_REG_FIFO_CTRL,
drivers/iio/imu/adis16475.c
1894
ret = adis_update_bits(&st->adis, ADIS16475_REG_FIFO_CTRL,
drivers/iio/imu/adis16475.c
1907
st->adis.irq_flag = IRQF_TRIGGER_RISING;
drivers/iio/imu/adis16475.c
1910
st->adis.irq_flag = IRQF_TRIGGER_FALLING;
drivers/iio/imu/adis16475.c
1918
ret = __adis_update_bits(&st->adis, ADIS16475_REG_MSG_CTRL,
drivers/iio/imu/adis16475.c
1950
ret = adis_init(&st->adis, indio_dev, spi, &st->info->adis_data);
drivers/iio/imu/adis16475.c
1957
if (st->adis.data->has_fifo)
drivers/iio/imu/adis16475.c
1963
ret = __adis_initial_startup(&st->adis);
drivers/iio/imu/adis16475.c
1975
if (st->adis.data->has_fifo) {
drivers/iio/imu/adis16475.c
1976
ret = devm_adis_setup_buffer_and_trigger_with_attrs(&st->adis, indio_dev,
drivers/iio/imu/adis16475.c
1985
ret = adis_update_bits(&st->adis, ADIS16475_REG_FIFO_CTRL,
drivers/iio/imu/adis16475.c
1990
ret = devm_adis_setup_buffer_and_trigger(&st->adis, indio_dev,
drivers/iio/imu/adis16475.c
203
ret = adis_read_reg_16(&st->adis, ADIS16475_REG_FIRM_Y, &year);
drivers/iio/imu/adis16475.c
207
ret = adis_read_reg_16(&st->adis, ADIS16475_REG_FIRM_DM, &md);
drivers/iio/imu/adis16475.c
230
ret = adis_read_reg_16(&st->adis, ADIS16475_REG_SERIAL_NUM, &serial);
drivers/iio/imu/adis16475.c
247
ret = adis_read_reg_16(&st->adis, ADIS16475_REG_PROD_ID, &prod_id);
drivers/iio/imu/adis16475.c
264
ret = adis_read_reg_32(&st->adis, ADIS16475_REG_FLASH_CNT,
drivers/iio/imu/adis16475.c
302
adis_dev_auto_lock(&st->adis);
drivers/iio/imu/adis16475.c
307
ret = __adis_read_reg_16(&st->adis, ADIS16475_REG_UP_SCALE, &sync_scale);
drivers/iio/imu/adis16475.c
314
ret = __adis_read_reg_16(&st->adis, ADIS16475_REG_DEC_RATE, &dec);
drivers/iio/imu/adis16475.c
335
adis_dev_auto_lock(&st->adis);
drivers/iio/imu/adis16475.c
378
ret = __adis_write_reg_16(&st->adis, ADIS16475_REG_UP_SCALE, sync_scale);
drivers/iio/imu/adis16475.c
393
ret = __adis_write_reg_16(&st->adis, ADIS16475_REG_DEC_RATE, dec);
drivers/iio/imu/adis16475.c
423
ret = adis_read_reg_16(&st->adis, ADIS16475_REG_FILT_CTRL, &filter_sz);
drivers/iio/imu/adis16475.c
442
ret = adis_write_reg_16(&st->adis, ADIS16475_REG_FILT_CTRL,
drivers/iio/imu/adis16475.c
465
ret = adis_read_reg_16(&st->adis, ADIS16475_REG_FIFO_CTRL, &val);
drivers/iio/imu/adis16475.c
481
ret = adis_read_reg_16(&st->adis, ADIS16475_REG_FIFO_CTRL, &val);
drivers/iio/imu/adis16475.c
520
struct adis *adis = &st->adis;
drivers/iio/imu/adis16475.c
522
return adis_update_bits(adis, ADIS16475_REG_FIFO_CTRL,
drivers/iio/imu/adis16475.c
529
struct adis *adis = &st->adis;
drivers/iio/imu/adis16475.c
532
adis_dev_auto_lock(&st->adis);
drivers/iio/imu/adis16475.c
534
ret = __adis_update_bits(adis, ADIS16475_REG_FIFO_CTRL,
drivers/iio/imu/adis16475.c
539
return __adis_write_reg_16(adis, ADIS16475_REG_GLOB_CMD,
drivers/iio/imu/adis16475.c
554
adis_dev_auto_lock(&st->adis);
drivers/iio/imu/adis16475.c
559
ret = __adis_update_bits(&st->adis, ADIS16475_REG_FIFO_CTRL, ADIS16575_WM_LVL_MASK, wm_lvl);
drivers/iio/imu/adis16475.c
613
ret = adis_read_reg_32(&st->adis,
drivers/iio/imu/adis16475.c
653
return adis_write_reg_32(&st->adis,
drivers/iio/imu/adis16480.c
1398
struct adis *adis = &st->adis;
drivers/iio/imu/adis16480.c
1399
struct device *dev = &adis->spi->dev;
drivers/iio/imu/adis16480.c
1405
adis_dev_auto_scoped_lock(adis) {
drivers/iio/imu/adis16480.c
1406
if (adis->current_page != 0) {
drivers/iio/imu/adis16480.c
1407
adis->tx[0] = ADIS_WRITE_REG(ADIS_REG_PAGE_ID);
drivers/iio/imu/adis16480.c
1408
adis->tx[1] = 0;
drivers/iio/imu/adis16480.c
1409
ret = spi_write(adis->spi, adis->tx, 2);
drivers/iio/imu/adis16480.c
1415
adis->current_page = 0;
drivers/iio/imu/adis16480.c
1418
ret = spi_sync(adis->spi, &adis->msg);
drivers/iio/imu/adis16480.c
1434
buffer = adis->buffer;
drivers/iio/imu/adis16480.c
1517
ret = __adis_update_bits(&st->adis, ADIS16480_REG_CONFIG,
drivers/iio/imu/adis16480.c
1536
struct device *dev = &st->adis.spi->dev;
drivers/iio/imu/adis16480.c
1539
ret = adis_write_reg_16(&st->adis, ADIS16480_REG_SLP_CNT, BIT(9));
drivers/iio/imu/adis16480.c
1546
static int adis16480_enable_irq(struct adis *adis, bool enable)
drivers/iio/imu/adis16480.c
1551
ret = __adis_read_reg_16(adis, ADIS16480_REG_FNCTIO_CTRL, &val);
drivers/iio/imu/adis16480.c
1558
return __adis_write_reg_16(adis, ADIS16480_REG_FNCTIO_CTRL, val);
drivers/iio/imu/adis16480.c
1563
struct device *dev = &st->adis.spi->dev;
drivers/iio/imu/adis16480.c
1597
irq_type = irq_get_trigger_type(st->adis.spi->irq);
drivers/iio/imu/adis16480.c
1607
return adis_write_reg_16(&st->adis, ADIS16480_REG_FNCTIO_CTRL, val);
drivers/iio/imu/adis16480.c
1612
struct device *dev = &st->adis.spi->dev;
drivers/iio/imu/adis16480.c
1633
struct device *dev = &st->adis.spi->dev;
drivers/iio/imu/adis16480.c
1639
ret = adis_read_reg_16(&st->adis, ADIS16480_REG_FNCTIO_CTRL, &val);
drivers/iio/imu/adis16480.c
1663
ret = adis_write_reg_16(&st->adis, ADIS16480_REG_FNCTIO_CTRL, val);
drivers/iio/imu/adis16480.c
1672
struct device *dev = &st->adis.spi->dev;
drivers/iio/imu/adis16480.c
1733
ret = adis_init(&st->adis, indio_dev, spi, adis16480_data);
drivers/iio/imu/adis16480.c
1737
ret = __adis_initial_startup(&st->adis);
drivers/iio/imu/adis16480.c
175
struct adis adis;
drivers/iio/imu/adis16480.c
1783
ret = __adis_write_reg_16(&st->adis, ADIS16495_REG_SYNC_SCALE, sync_scale);
drivers/iio/imu/adis16480.c
1795
ret = devm_adis_setup_buffer_and_trigger(&st->adis, indio_dev,
drivers/iio/imu/adis16480.c
205
ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_REV, &rev);
drivers/iio/imu/adis16480.c
230
ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_Y, &year);
drivers/iio/imu/adis16480.c
234
ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_DM, &md);
drivers/iio/imu/adis16480.c
257
ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_SERIAL_NUM,
drivers/iio/imu/adis16480.c
275
ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_PROD_ID,
drivers/iio/imu/adis16480.c
293
ret = adis_read_reg_32(&adis16480->adis, ADIS16480_REG_FLASH_CNT,
drivers/iio/imu/adis16480.c
338
adis_dev_auto_lock(&st->adis);
drivers/iio/imu/adis16480.c
379
ret = __adis_write_reg_16(&st->adis, ADIS16495_REG_SYNC_SCALE, sync_scale);
drivers/iio/imu/adis16480.c
393
return __adis_write_reg_16(&st->adis, ADIS16480_REG_DEC_RATE, t);
drivers/iio/imu/adis16480.c
403
adis_dev_auto_lock(&st->adis);
drivers/iio/imu/adis16480.c
408
ret = __adis_read_reg_16(&st->adis, ADIS16495_REG_SYNC_SCALE, &sync_scale);
drivers/iio/imu/adis16480.c
415
ret = __adis_read_reg_16(&st->adis, ADIS16480_REG_DEC_RATE, &t);
drivers/iio/imu/adis16480.c
480
return adis_write_reg_16(&st->adis, reg, bias);
drivers/iio/imu/adis16480.c
483
return adis_write_reg_32(&st->adis, reg, bias);
drivers/iio/imu/adis16480.c
503
ret = adis_read_reg_16(&st->adis, reg, &val16);
drivers/iio/imu/adis16480.c
509
ret = adis_read_reg_32(&st->adis, reg, &val32);
drivers/iio/imu/adis16480.c
532
return adis_write_reg_16(&st->adis, reg, scale);
drivers/iio/imu/adis16480.c
543
ret = adis_read_reg_16(&st->adis, reg, &val16);
drivers/iio/imu/adis16480.c
589
ret = adis_read_reg_16(&st->adis, reg, &val);
drivers/iio/imu/adis16480.c
615
adis_dev_auto_lock(&st->adis);
drivers/iio/imu/adis16480.c
617
ret = __adis_read_reg_16(&st->adis, reg, &val);
drivers/iio/imu/adis16480.c
641
return __adis_write_reg_16(&st->adis, reg, val);
drivers/iio/imu/adis16480.c
946
static int adis16480_enable_irq(struct adis *adis, bool enable);
drivers/iio/imu/adis16550.c
1059
struct adis *adis;
drivers/iio/imu/adis16550.c
1070
adis = &st->adis;
drivers/iio/imu/adis16550.c
1078
st->adis.ops = &adis16550_ops;
drivers/iio/imu/adis16550.c
1087
spi_message_init_with_transfers(&adis->msg, st->xfer, 2);
drivers/iio/imu/adis16550.c
1093
ret = adis_init(&st->adis, indio_dev, spi, &adis16550_data);
drivers/iio/imu/adis16550.c
1097
ret = __adis_initial_startup(&st->adis);
drivers/iio/imu/adis16550.c
1105
ret = devm_adis_setup_buffer_and_trigger(&st->adis, indio_dev,
drivers/iio/imu/adis16550.c
111
struct adis adis;
drivers/iio/imu/adis16550.c
147
static int adis16550_spi_validate(const struct adis *adis, __be32 dout,
drivers/iio/imu/adis16550.c
159
dev_err(&adis->spi->dev,
drivers/iio/imu/adis16550.c
166
dev_err(&adis->spi->dev,
drivers/iio/imu/adis16550.c
194
static int adis16550_spi_xfer(const struct adis *adis, u32 reg, u32 len,
drivers/iio/imu/adis16550.c
201
struct spi_device *spi = adis->spi;
drivers/iio/imu/adis16550.c
202
struct adis16550 *st = container_of(adis, struct adis16550, adis);
drivers/iio/imu/adis16550.c
248
ret = adis16550_spi_validate(adis, st->dout[0], &data);
drivers/iio/imu/adis16550.c
263
ret = adis16550_spi_validate(adis, st->dout[1], &data);
drivers/iio/imu/adis16550.c
280
static int adis16550_spi_read(struct adis *adis, const u32 reg,
drivers/iio/imu/adis16550.c
283
return adis16550_spi_xfer(adis, reg, len, value, 0);
drivers/iio/imu/adis16550.c
286
static int adis16550_spi_write(struct adis *adis, const u32 reg,
drivers/iio/imu/adis16550.c
289
return adis16550_spi_xfer(adis, reg, len, NULL, value);
drivers/iio/imu/adis16550.c
302
ret = adis_read_reg_16(&st->adis, ADIS16550_REG_FW_REV, &rev);
drivers/iio/imu/adis16550.c
328
ret = adis_read_reg_32(&st->adis, ADIS16550_REG_FW_DATE, &date);
drivers/iio/imu/adis16550.c
351
ret = adis_read_reg_32(&st->adis, ADIS16550_REG_SERIAL_NUM, &serial);
drivers/iio/imu/adis16550.c
368
ret = adis_read_reg_16(&st->adis, ADIS16550_REG_PROD_ID, &prod_id);
drivers/iio/imu/adis16550.c
385
ret = adis_read_reg_16(&st->adis, ADIS16550_REG_FLASH_CNT, &flash_count);
drivers/iio/imu/adis16550.c
424
adis_dev_auto_lock(&st->adis);
drivers/iio/imu/adis16550.c
429
ret = __adis_read_reg_16(&st->adis, ADIS16550_REG_SYNC_SCALE, &sync_scale);
drivers/iio/imu/adis16550.c
436
ret = __adis_read_reg_16(&st->adis, ADIS16550_REG_DEC_RATE, &dec);
drivers/iio/imu/adis16550.c
459
adis_dev_auto_lock(&st->adis);
drivers/iio/imu/adis16550.c
474
ret = __adis_write_reg_16(&st->adis, ADIS16550_REG_SYNC_SCALE,
drivers/iio/imu/adis16550.c
489
return __adis_write_reg_16(&st->adis, ADIS16550_REG_DEC_RATE, dec);
drivers/iio/imu/adis16550.c
497
ret = adis_read_reg_16(&st->adis, ADIS16550_REG_CONFIG, &config);
drivers/iio/imu/adis16550.c
514
return __adis_update_bits(&st->adis, ADIS16550_REG_CONFIG,
drivers/iio/imu/adis16550.c
523
ret = adis_read_reg_16(&st->adis, ADIS16550_REG_CONFIG, &config);
drivers/iio/imu/adis16550.c
540
return __adis_update_bits(&st->adis, ADIS16550_REG_CONFIG,
drivers/iio/imu/adis16550.c
621
ret = adis_read_reg_32(&st->adis,
drivers/iio/imu/adis16550.c
628
ret = adis_read_reg_16(&st->adis,
drivers/iio/imu/adis16550.c
676
return adis_write_reg_32(&st->adis, adis16550_calib_bias[idx],
drivers/iio/imu/adis16550.c
679
return adis_write_reg_16(&st->adis, adis16550_calib_scale[idx],
drivers/iio/imu/adis16550.c
842
struct adis *adis = iio_device_get_drvdata(indio_dev);
drivers/iio/imu/adis16550.c
845
ret = spi_sync(adis->spi, &adis->msg);
drivers/iio/imu/adis16550.c
852
ret = adis16550_spi_validate(&st->adis, buffer[0], &dummy);
drivers/iio/imu/adis16550.c
859
dev_err(&adis->spi->dev, "Burst Invalid crc!\n");
drivers/iio/imu/adis16550.c
904
static int adis16550_reset(struct adis *adis)
drivers/iio/imu/adis16550.c
906
return __adis_write_reg_16(adis, ADIS16550_REG_COMMAND, BIT(15));
drivers/iio/imu/adis16550.c
911
struct device *dev = &st->adis.spi->dev;
drivers/iio/imu/adis16550.c
953
ret = adis_write_reg_16(&st->adis, ADIS16550_REG_SYNC_SCALE,
drivers/iio/imu/adis16550.c
966
return __adis_update_bits(&st->adis, ADIS16550_REG_CONFIG,
drivers/iio/imu/adis_buffer.c
102
adis->xfer[j].cs_change = 1;
drivers/iio/imu/adis_buffer.c
103
adis->xfer[j].len = 2;
drivers/iio/imu/adis_buffer.c
104
adis->xfer[j].delay.value = adis->data->read_delay;
drivers/iio/imu/adis_buffer.c
105
adis->xfer[j].delay.unit = SPI_DELAY_UNIT_USECS;
drivers/iio/imu/adis_buffer.c
107
adis->xfer[j].tx_buf = &tx[j];
drivers/iio/imu/adis_buffer.c
109
adis->xfer[j].rx_buf = &rx[j - 1];
drivers/iio/imu/adis_buffer.c
110
spi_message_add_tail(&adis->xfer[j], &adis->msg);
drivers/iio/imu/adis_buffer.c
126
static int adis_paging_trigger_handler(struct adis *adis)
drivers/iio/imu/adis_buffer.c
130
guard(mutex)(&adis->state_lock);
drivers/iio/imu/adis_buffer.c
131
if (adis->current_page != 0) {
drivers/iio/imu/adis_buffer.c
132
adis->tx[0] = ADIS_WRITE_REG(ADIS_REG_PAGE_ID);
drivers/iio/imu/adis_buffer.c
133
adis->tx[1] = 0;
drivers/iio/imu/adis_buffer.c
134
ret = spi_write(adis->spi, adis->tx, 2);
drivers/iio/imu/adis_buffer.c
136
dev_err(&adis->spi->dev, "Failed to change device page: %d\n", ret);
drivers/iio/imu/adis_buffer.c
140
adis->current_page = 0;
drivers/iio/imu/adis_buffer.c
143
return spi_sync(adis->spi, &adis->msg);
drivers/iio/imu/adis_buffer.c
150
struct adis *adis = iio_device_get_drvdata(indio_dev);
drivers/iio/imu/adis_buffer.c
153
if (adis->data->has_paging)
drivers/iio/imu/adis_buffer.c
154
ret = adis_paging_trigger_handler(adis);
drivers/iio/imu/adis_buffer.c
156
ret = spi_sync(adis->spi, &adis->msg);
drivers/iio/imu/adis_buffer.c
158
dev_err(&adis->spi->dev, "Failed to read data: %d", ret);
drivers/iio/imu/adis_buffer.c
162
iio_push_to_buffers_with_timestamp(indio_dev, adis->buffer,
drivers/iio/imu/adis_buffer.c
173
struct adis *adis = arg;
drivers/iio/imu/adis_buffer.c
175
kfree(adis->buffer);
drivers/iio/imu/adis_buffer.c
176
kfree(adis->xfer);
drivers/iio/imu/adis_buffer.c
194
devm_adis_setup_buffer_and_trigger_with_attrs(struct adis *adis, struct iio_dev *indio_dev,
drivers/iio/imu/adis_buffer.c
204
ret = devm_iio_triggered_buffer_setup_ext(&adis->spi->dev, indio_dev,
drivers/iio/imu/adis_buffer.c
213
if (adis->spi->irq) {
drivers/iio/imu/adis_buffer.c
214
ret = devm_adis_probe_trigger(adis, indio_dev);
drivers/iio/imu/adis_buffer.c
219
return devm_add_action_or_reset(&adis->spi->dev, adis_buffer_cleanup,
drivers/iio/imu/adis_buffer.c
220
adis);
drivers/iio/imu/adis_buffer.c
25
struct adis *adis = iio_device_get_drvdata(indio_dev);
drivers/iio/imu/adis_buffer.c
29
burst_length = adis->data->burst_len + adis->burst_extra_len;
drivers/iio/imu/adis_buffer.c
31
if (adis->data->burst_max_len)
drivers/iio/imu/adis_buffer.c
32
burst_max_length = adis->data->burst_max_len;
drivers/iio/imu/adis_buffer.c
36
adis->xfer = kzalloc_objs(*adis->xfer, 2);
drivers/iio/imu/adis_buffer.c
37
if (!adis->xfer)
drivers/iio/imu/adis_buffer.c
40
adis->buffer = kzalloc(burst_max_length + sizeof(u16), GFP_KERNEL);
drivers/iio/imu/adis_buffer.c
41
if (!adis->buffer) {
drivers/iio/imu/adis_buffer.c
42
kfree(adis->xfer);
drivers/iio/imu/adis_buffer.c
43
adis->xfer = NULL;
drivers/iio/imu/adis_buffer.c
47
tx = adis->buffer + burst_max_length;
drivers/iio/imu/adis_buffer.c
48
tx[0] = ADIS_READ_REG(adis->data->burst_reg_cmd);
drivers/iio/imu/adis_buffer.c
51
adis->xfer[0].tx_buf = tx;
drivers/iio/imu/adis_buffer.c
52
adis->xfer[0].len = 2;
drivers/iio/imu/adis_buffer.c
53
if (adis->data->burst_max_speed_hz)
drivers/iio/imu/adis_buffer.c
54
adis->xfer[0].speed_hz = adis->data->burst_max_speed_hz;
drivers/iio/imu/adis_buffer.c
55
adis->xfer[1].rx_buf = adis->buffer;
drivers/iio/imu/adis_buffer.c
56
adis->xfer[1].len = burst_length;
drivers/iio/imu/adis_buffer.c
57
if (adis->data->burst_max_speed_hz)
drivers/iio/imu/adis_buffer.c
58
adis->xfer[1].speed_hz = adis->data->burst_max_speed_hz;
drivers/iio/imu/adis_buffer.c
60
spi_message_init(&adis->msg);
drivers/iio/imu/adis_buffer.c
61
spi_message_add_tail(&adis->xfer[0], &adis->msg);
drivers/iio/imu/adis_buffer.c
62
spi_message_add_tail(&adis->xfer[1], &adis->msg);
drivers/iio/imu/adis_buffer.c
70
struct adis *adis = iio_device_get_drvdata(indio_dev);
drivers/iio/imu/adis_buffer.c
76
kfree(adis->xfer);
drivers/iio/imu/adis_buffer.c
77
kfree(adis->buffer);
drivers/iio/imu/adis_buffer.c
79
if (adis->data->burst_len)
drivers/iio/imu/adis_buffer.c
84
adis->xfer = kzalloc_objs(*adis->xfer, scan_count + 1);
drivers/iio/imu/adis_buffer.c
85
if (!adis->xfer)
drivers/iio/imu/adis_buffer.c
88
adis->buffer = kcalloc(indio_dev->scan_bytes, 2, GFP_KERNEL);
drivers/iio/imu/adis_buffer.c
89
if (!adis->buffer) {
drivers/iio/imu/adis_buffer.c
90
kfree(adis->xfer);
drivers/iio/imu/adis_buffer.c
91
adis->xfer = NULL;
drivers/iio/imu/adis_buffer.c
95
rx = adis->buffer;
drivers/iio/imu/adis_buffer.c
98
spi_message_init(&adis->msg);
drivers/iio/imu/adis_trigger.c
103
return devm_iio_trigger_register(&adis->spi->dev, adis->trig);
drivers/iio/imu/adis_trigger.c
20
struct adis *adis = iio_trigger_get_drvdata(trig);
drivers/iio/imu/adis_trigger.c
22
return adis_enable_irq(adis, state);
drivers/iio/imu/adis_trigger.c
29
static int adis_validate_irq_flag(struct adis *adis)
drivers/iio/imu/adis_trigger.c
31
unsigned long direction = adis->irq_flag & IRQF_TRIGGER_MASK;
drivers/iio/imu/adis_trigger.c
34
if (adis->data->unmasked_drdy)
drivers/iio/imu/adis_trigger.c
35
adis->irq_flag |= IRQF_NO_AUTOEN;
drivers/iio/imu/adis_trigger.c
46
adis->irq_flag |= IRQF_TRIGGER_RISING;
drivers/iio/imu/adis_trigger.c
49
direction != IRQF_TRIGGER_FALLING && !adis->data->has_fifo) {
drivers/iio/imu/adis_trigger.c
50
dev_err(&adis->spi->dev, "Invalid IRQ mask: %08lx\n",
drivers/iio/imu/adis_trigger.c
51
adis->irq_flag);
drivers/iio/imu/adis_trigger.c
54
direction != IRQF_TRIGGER_LOW && adis->data->has_fifo) {
drivers/iio/imu/adis_trigger.c
55
dev_err(&adis->spi->dev, "Invalid IRQ mask: %08lx\n",
drivers/iio/imu/adis_trigger.c
56
adis->irq_flag);
drivers/iio/imu/adis_trigger.c
70
int devm_adis_probe_trigger(struct adis *adis, struct iio_dev *indio_dev)
drivers/iio/imu/adis_trigger.c
74
adis->trig = devm_iio_trigger_alloc(&adis->spi->dev, "%s-dev%d",
drivers/iio/imu/adis_trigger.c
77
if (!adis->trig)
drivers/iio/imu/adis_trigger.c
80
adis->trig->ops = &adis_trigger_ops;
drivers/iio/imu/adis_trigger.c
81
iio_trigger_set_drvdata(adis->trig, adis);
drivers/iio/imu/adis_trigger.c
83
ret = adis_validate_irq_flag(adis);
drivers/iio/imu/adis_trigger.c
87
if (adis->data->has_fifo)
drivers/iio/imu/adis_trigger.c
88
ret = devm_request_threaded_irq(&adis->spi->dev, adis->spi->irq,
drivers/iio/imu/adis_trigger.c
91
adis->irq_flag | IRQF_ONESHOT,
drivers/iio/imu/adis_trigger.c
93
adis->trig);
drivers/iio/imu/adis_trigger.c
95
ret = devm_request_irq(&adis->spi->dev, adis->spi->irq,
drivers/iio/imu/adis_trigger.c
97
adis->irq_flag,
drivers/iio/imu/adis_trigger.c
99
adis->trig);
drivers/staging/iio/accel/adis16203.c
150
struct adis *st = iio_priv(indio_dev);
drivers/staging/iio/accel/adis16203.c
162
struct adis *st = iio_priv(indio_dev);
drivers/staging/iio/accel/adis16203.c
263
struct adis *st;
include/linux/iio/imu/adis.h
109
int (*write)(struct adis *adis, unsigned int reg, unsigned int value,
include/linux/iio/imu/adis.h
111
int (*read)(struct adis *adis, unsigned int reg, unsigned int *value,
include/linux/iio/imu/adis.h
113
int (*reset)(struct adis *adis);
include/linux/iio/imu/adis.h
162
int adis_init(struct adis *adis, struct iio_dev *indio_dev,
include/linux/iio/imu/adis.h
164
int __adis_reset(struct adis *adis);
include/linux/iio/imu/adis.h
172
static inline int adis_reset(struct adis *adis)
include/linux/iio/imu/adis.h
174
guard(mutex)(&adis->state_lock);
include/linux/iio/imu/adis.h
175
return __adis_reset(adis);
include/linux/iio/imu/adis.h
178
int __adis_write_reg(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
180
int __adis_read_reg(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
191
static inline int __adis_write_reg_8(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
194
return adis->ops->write(adis, reg, val, 1);
include/linux/iio/imu/adis.h
205
static inline int __adis_write_reg_16(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
208
return adis->ops->write(adis, reg, val, 2);
include/linux/iio/imu/adis.h
219
static inline int __adis_write_reg_32(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
222
return adis->ops->write(adis, reg, val, 4);
include/linux/iio/imu/adis.h
233
static inline int __adis_read_reg_16(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
239
ret = adis->ops->read(adis, reg, &tmp, 2);
include/linux/iio/imu/adis.h
24
struct adis;
include/linux/iio/imu/adis.h
254
static inline int __adis_read_reg_32(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
260
ret = adis->ops->read(adis, reg, &tmp, 4);
include/linux/iio/imu/adis.h
276
static inline int adis_write_reg(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
279
guard(mutex)(&adis->state_lock);
include/linux/iio/imu/adis.h
280
return adis->ops->write(adis, reg, val, size);
include/linux/iio/imu/adis.h
292
static int adis_read_reg(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
295
guard(mutex)(&adis->state_lock);
include/linux/iio/imu/adis.h
296
return adis->ops->read(adis, reg, val, size);
include/linux/iio/imu/adis.h
307
static inline int adis_write_reg_8(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
310
return adis_write_reg(adis, reg, val, 1);
include/linux/iio/imu/adis.h
321
static inline int adis_write_reg_16(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
324
return adis_write_reg(adis, reg, val, 2);
include/linux/iio/imu/adis.h
335
static inline int adis_write_reg_32(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
338
return adis_write_reg(adis, reg, val, 4);
include/linux/iio/imu/adis.h
349
static inline int adis_read_reg_16(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
355
ret = adis_read_reg(adis, reg, &tmp, 2);
include/linux/iio/imu/adis.h
370
static inline int adis_read_reg_32(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
376
ret = adis_read_reg(adis, reg, &tmp, 4);
include/linux/iio/imu/adis.h
383
int __adis_update_bits_base(struct adis *adis, unsigned int reg, const u32 mask,
include/linux/iio/imu/adis.h
397
static inline int adis_update_bits_base(struct adis *adis, unsigned int reg,
include/linux/iio/imu/adis.h
400
guard(mutex)(&adis->state_lock);
include/linux/iio/imu/adis.h
401
return __adis_update_bits_base(adis, reg, mask, val, size);
include/linux/iio/imu/adis.h
415
#define adis_update_bits(adis, reg, mask, val) ({ \
include/linux/iio/imu/adis.h
417
adis_update_bits_base(adis, reg, mask, val, sizeof(val)); \
include/linux/iio/imu/adis.h
431
#define __adis_update_bits(adis, reg, mask, val) ({ \
include/linux/iio/imu/adis.h
433
__adis_update_bits_base(adis, reg, mask, val, sizeof(val)); \
include/linux/iio/imu/adis.h
436
int __adis_check_status(struct adis *adis);
include/linux/iio/imu/adis.h
437
int __adis_initial_startup(struct adis *adis);
include/linux/iio/imu/adis.h
438
int __adis_enable_irq(struct adis *adis, bool enable);
include/linux/iio/imu/adis.h
440
static inline int adis_enable_irq(struct adis *adis, bool enable)
include/linux/iio/imu/adis.h
442
guard(mutex)(&adis->state_lock);
include/linux/iio/imu/adis.h
443
return __adis_enable_irq(adis, enable);
include/linux/iio/imu/adis.h
446
static inline int adis_check_status(struct adis *adis)
include/linux/iio/imu/adis.h
448
guard(mutex)(&adis->state_lock);
include/linux/iio/imu/adis.h
449
return __adis_check_status(adis);
include/linux/iio/imu/adis.h
452
#define adis_dev_auto_lock(adis) guard(mutex)(&(adis)->state_lock)
include/linux/iio/imu/adis.h
453
#define adis_dev_auto_scoped_lock(adis) \
include/linux/iio/imu/adis.h
454
scoped_guard(mutex, &(adis)->state_lock)
include/linux/iio/imu/adis.h
532
#define devm_adis_setup_buffer_and_trigger(adis, indio_dev, trigger_handler) \
include/linux/iio/imu/adis.h
533
devm_adis_setup_buffer_and_trigger_with_attrs((adis), (indio_dev), \
include/linux/iio/imu/adis.h
540
devm_adis_setup_buffer_and_trigger_with_attrs(struct adis *adis,
include/linux/iio/imu/adis.h
546
int devm_adis_probe_trigger(struct adis *adis, struct iio_dev *indio_dev);
include/linux/iio/imu/adis.h
554
devm_adis_setup_buffer_and_trigger_with_attrs(struct adis *adis,
include/linux/iio/imu/adis.h
563
static inline int devm_adis_probe_trigger(struct adis *adis,
include/linux/iio/imu/adis.h
89
int (*enable_irq)(struct adis *adis, bool enable);