Home
last modified time | relevance | path

Searched refs:adis (Results 1 – 15 of 15) sorted by relevance

/linux/drivers/iio/imu/
H A Dadis.c33 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 Dadis_buffer.c25 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 Dadis_trigger.c20 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 Dadis16550.c111 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 Dadis16400.c176 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 Dadis16480.c175 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 Dadis16460.c69 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 DMakefile13 adis_lib-y += adis.o
/linux/include/linux/iio/imu/
H A Dadis.h24 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 Dadis16260.c108 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 Dadis16136.c63 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 Dadis16203.c150 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 Dadis16201.c102 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 Dadis16209.c110 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 DMAINTAINERS1671 F: drivers/iio/imu/adis.c
1674 F: include/linux/iio/imu/adis.h