| /linux/drivers/iio/imu/ |
| H A D | adis.c | 33 int __adis_write_reg(struct adis *adis, unsigned int reg, unsigned int value, in __adis_write_reg() argument 41 .tx_buf = adis->tx, in __adis_write_reg() 44 .delay.value = adis->data->write_delay, in __adis_write_reg() 47 .tx_buf = adis->tx + 2, in __adis_write_reg() 50 .delay.value = adis->data->write_delay, in __adis_write_reg() 53 .tx_buf = adis->tx + 4, in __adis_write_reg() 56 .delay.value = adis->data->write_delay, in __adis_write_reg() 59 .tx_buf = adis->tx + 6, in __adis_write_reg() 61 .delay.value = adis->data->write_delay, in __adis_write_reg() 64 .tx_buf = adis->tx + 8, in __adis_write_reg() [all …]
|
| H A D | adis_buffer.c | 25 struct adis *adis = iio_device_get_drvdata(indio_dev); in adis_update_scan_mode_burst() local 29 burst_length = adis->data->burst_len + adis->burst_extra_len; in adis_update_scan_mode_burst() 31 if (adis->data->burst_max_len) in adis_update_scan_mode_burst() 32 burst_max_length = adis->data->burst_max_len; in adis_update_scan_mode_burst() 36 adis->xfer = kzalloc_objs(*adis->xfer, 2); in adis_update_scan_mode_burst() 37 if (!adis->xfer) in adis_update_scan_mode_burst() 40 adis->buffer = kzalloc(burst_max_length + sizeof(u16), GFP_KERNEL); in adis_update_scan_mode_burst() 41 if (!adis->buffer) { in adis_update_scan_mode_burst() 42 kfree(adis->xfer); in adis_update_scan_mode_burst() 43 adis->xfer = NULL; in adis_update_scan_mode_burst() [all …]
|
| H A D | adis_trigger.c | 20 struct adis *adis = iio_trigger_get_drvdata(trig); in adis_data_rdy_trigger_set_state() local 22 return adis_enable_irq(adis, state); in adis_data_rdy_trigger_set_state() 29 static int adis_validate_irq_flag(struct adis *adis) in adis_validate_irq_flag() argument 31 unsigned long direction = adis->irq_flag & IRQF_TRIGGER_MASK; in adis_validate_irq_flag() 34 if (adis->data->unmasked_drdy) in adis_validate_irq_flag() 35 adis->irq_flag |= IRQF_NO_AUTOEN; in adis_validate_irq_flag() 46 adis->irq_flag |= IRQF_TRIGGER_RISING; in adis_validate_irq_flag() 49 direction != IRQF_TRIGGER_FALLING && !adis->data->has_fifo) { in adis_validate_irq_flag() 50 dev_err(&adis->spi->dev, "Invalid IRQ mask: %08lx\n", in adis_validate_irq_flag() 51 adis->irq_flag); in adis_validate_irq_flag() [all …]
|
| H A D | adis16550.c | 111 struct adis adis; member 147 static int adis16550_spi_validate(const struct adis *adis, __be32 dout, in adis16550_spi_validate() argument 159 dev_err(&adis->spi->dev, in adis16550_spi_validate() 166 dev_err(&adis->spi->dev, in adis16550_spi_validate() 194 static int adis16550_spi_xfer(const struct adis *adis, u32 reg, u32 len, in adis16550_spi_xfer() argument 201 struct spi_device *spi = adis->spi; in adis16550_spi_xfer() 202 struct adis16550 *st = container_of(adis, struct adis16550, adis); in adis16550_spi_xfer() 248 ret = adis16550_spi_validate(adis, st->dout[0], &data); in adis16550_spi_xfer() 263 ret = adis16550_spi_validate(adis, st->dout[1], &data); in adis16550_spi_xfer() 280 static int adis16550_spi_read(struct adis *adis, const u32 reg, in adis16550_spi_read() argument [all …]
|
| H A D | adis16400.c | 176 struct adis adis; member 214 ret = adis_read_reg_16(&st->adis, ADIS16334_LOT_ID1, &lot1); in adis16400_show_serial_number() 218 ret = adis_read_reg_16(&st->adis, ADIS16334_LOT_ID2, &lot2); in adis16400_show_serial_number() 222 ret = adis_read_reg_16(&st->adis, ADIS16334_SERIAL_NUMBER, in adis16400_show_serial_number() 246 ret = adis_read_reg_16(&st->adis, ADIS16400_PRODUCT_ID, &prod_id); in adis16400_show_product_id() 263 ret = adis_read_reg_16(&st->adis, ADIS16400_FLASH_CNT, &flash_count); in adis16400_show_flash_count() 297 ret = __adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &t); in adis16334_get_freq() 321 return __adis_write_reg_16(&st->adis, ADIS16400_SMPL_PRD, t); in adis16334_set_freq() 329 ret = __adis_read_reg_16(&st->adis, ADIS16400_SMPL_PRD, &t); in adis16400_get_freq() 357 st->adis.spi->max_speed_hz = ADIS16400_SPI_SLOW; in adis16400_set_freq() [all …]
|
| H A D | adis16480.c | 175 struct adis adis; member 205 ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_REV, &rev); in adis16480_show_firmware_revision() 230 ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_Y, &year); in adis16480_show_firmware_date() 234 ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_FIRM_DM, &md); in adis16480_show_firmware_date() 257 ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_SERIAL_NUM, in adis16480_show_serial_number() 275 ret = adis_read_reg_16(&adis16480->adis, ADIS16480_REG_PROD_ID, in adis16480_show_product_id() 293 ret = adis_read_reg_32(&adis16480->adis, ADIS16480_REG_FLASH_CNT, in adis16480_show_flash_count() 338 adis_dev_auto_lock(&st->adis); in adis16480_set_freq() 379 ret = __adis_write_reg_16(&st->adis, ADIS16495_REG_SYNC_SCALE, sync_scale); in adis16480_set_freq() 393 return __adis_write_reg_16(&st->adis, ADIS16480_REG_DEC_RATE, t); in adis16480_set_freq() [all …]
|
| H A D | adis16460.c | 69 struct adis adis; member 78 ret = adis_read_reg_16(&adis16460->adis, ADIS16460_REG_SERIAL_NUM, in adis16460_show_serial_number() 96 ret = adis_read_reg_16(&adis16460->adis, ADIS16460_REG_PROD_ID, in adis16460_show_product_id() 114 ret = adis_read_reg_32(&adis16460->adis, ADIS16460_REG_FLASH_CNT, in adis16460_show_flash_count() 158 return adis_write_reg_16(&st->adis, ADIS16460_REG_DEC_RATE, t); in adis16460_set_freq() 168 ret = adis_read_reg_16(&st->adis, ADIS16460_REG_DEC_RATE, &t); in adis16460_get_freq() 375 ret = adis_init(&st->adis, indio_dev, spi, &adis16460_data); in adis16460_probe() 379 ret = devm_adis_setup_buffer_and_trigger(&st->adis, indio_dev, NULL); in adis16460_probe() 383 ret = __adis_initial_startup(&st->adis); in adis16460_probe()
|
| H A D | Makefile | 13 adis_lib-y += adis.o
|
| /linux/include/linux/iio/imu/ |
| H A D | adis.h | 24 struct adis; 89 int (*enable_irq)(struct adis *adis, bool enable); 109 int (*write)(struct adis *adis, unsigned int reg, unsigned int value, 111 int (*read)(struct adis *adis, unsigned int reg, unsigned int *value, 113 int (*reset)(struct adis *adis); 133 struct adis { struct 162 int adis_init(struct adis *adis, struct iio_dev *indio_dev, argument 164 int __adis_reset(struct adis *adis); 172 static inline int adis_reset(struct adis *adis) in adis_reset() argument 174 guard(mutex)(&adis->state_lock); in adis_reset() [all …]
|
| /linux/drivers/iio/gyro/ |
| H A D | adis16260.c | 108 struct adis adis; member 175 ret = adis_write_reg_16(&adis16260->adis, ADIS16260_SLP_CNT, val); in adis16260_stop_device() 193 struct adis *adis = &adis16260->adis; in adis16260_read_raw() local 233 ret = adis_read_reg_16(adis, addr, &val16); in adis16260_read_raw() 241 ret = adis_read_reg_16(adis, addr, &val16); in adis16260_read_raw() 248 ret = adis_read_reg_16(adis, ADIS16260_SMPL_PRD, &val16); in adis16260_read_raw() 252 if (spi_get_device_id(adis->spi)->driver_data) in adis16260_read_raw() 272 struct adis *adis = &adis16260->adis; in adis16260_write_raw() local 282 return adis_write_reg_16(adis, addr, val); in adis16260_write_raw() 288 return adis_write_reg_16(adis, addr, val); in adis16260_write_raw() [all …]
|
| H A D | adis16136.c | 63 struct adis adis; member 77 ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_SERIAL_NUM, in adis16136_show_serial() 82 ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_LOT1, &lot1); in adis16136_show_serial() 86 ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_LOT2, &lot2); in adis16136_show_serial() 90 ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_LOT3, &lot3); in adis16136_show_serial() 113 ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_PROD_ID, in adis16136_show_product_id() 131 ret = adis_read_reg_16(&adis16136->adis, ADIS16136_REG_FLASH_CNT, in adis16136_show_flash_count() 179 return adis_write_reg_16(&adis16136->adis, ADIS16136_REG_SMPL_PRD, t); in adis16136_set_freq() 187 ret = __adis_read_reg_16(&adis16136->adis, ADIS16136_REG_SMPL_PRD, &t); in __adis16136_get_freq() 224 adis_dev_auto_lock(&adis16136->adis); in adis16136_read_frequency() [all …]
|
| /linux/drivers/staging/iio/accel/ |
| H A D | adis16203.c | 150 struct adis *st = iio_priv(indio_dev); in adis16203_write_raw() 162 struct adis *st = iio_priv(indio_dev); in adis16203_read_raw() 263 struct adis *st; in adis16203_probe()
|
| /linux/drivers/iio/accel/ |
| H A D | adis16201.c | 102 struct adis *st = iio_priv(indio_dev); in adis16201_read_raw() 183 struct adis *st = iio_priv(indio_dev); in adis16201_write_raw() 260 struct adis *st; in adis16201_probe()
|
| H A D | adis16209.c | 110 struct adis *st = iio_priv(indio_dev); in adis16209_write_raw() 134 struct adis *st = iio_priv(indio_dev); in adis16209_read_raw() 271 struct adis *st; in adis16209_probe()
|
| /linux/ |
| H A D | MAINTAINERS | 1671 F: drivers/iio/imu/adis.c 1674 F: include/linux/iio/imu/adis.h
|