| /linux/Documentation/devicetree/bindings/iio/ |
| H A D | st,st-sensors.yaml | 4 $id: http://devicetree.org/schemas/iio/st,st-sensors.yaml# 16 - Denis Ciocca <denis.ciocca@st.com> 24 - st,h3lis331dl-accel 25 - st,lis2de12 26 - st,lis2dw12 27 - st,lis2hh12 28 - st,lis2dh12-accel 29 - st,lis2ds12 30 - st,lis302dl 31 - st,lis331dl-accel [all …]
|
| /linux/drivers/iio/dac/ |
| H A D | ad5592r-base.c | 26 struct ad5592r_state *st = gpiochip_get_data(chip); in ad5592r_gpio_get() local 30 scoped_guard(mutex, &st->gpio_lock) { in ad5592r_gpio_get() 31 if (st->gpio_out & BIT(offset)) in ad5592r_gpio_get() 32 val = st->gpio_val; in ad5592r_gpio_get() 34 ret = st->ops->gpio_read(st, &val); in ad5592r_gpio_get() 46 struct ad5592r_state *st = gpiochip_get_data(chip); in ad5592r_gpio_set() local 48 guard(mutex)(&st->gpio_lock); in ad5592r_gpio_set() 51 st->gpio_val |= BIT(offset); in ad5592r_gpio_set() 53 st->gpio_val &= ~BIT(offset); in ad5592r_gpio_set() 55 return st->ops->reg_write(st, AD5592R_REG_GPIO_SET, st->gpio_val); in ad5592r_gpio_set() [all …]
|
| H A D | ad3552r-hs.c | 71 static int ad3552r_hs_reg_read(struct ad3552r_hs_state *st, u32 reg, u32 *val, in ad3552r_hs_reg_read() argument 75 WARN_ON_ONCE(st->config_d & AD3552R_MASK_SPI_CONFIG_DDR); in ad3552r_hs_reg_read() 77 return st->data->bus_reg_read(st->back, reg, val, xfer_size); in ad3552r_hs_reg_read() 80 static int ad3552r_hs_set_data_source(struct ad3552r_hs_state *st, in ad3552r_hs_set_data_source() argument 85 for (i = 0; i < st->model_data->num_hw_channels; ++i) { in ad3552r_hs_set_data_source() 86 ret = iio_backend_data_source_set(st->back, i, type); in ad3552r_hs_set_data_source() 94 static int ad3552r_hs_update_reg_bits(struct ad3552r_hs_state *st, u32 reg, in ad3552r_hs_update_reg_bits() argument 100 ret = ad3552r_hs_reg_read(st, reg, &rval, xfer_size); in ad3552r_hs_update_reg_bits() 106 return st->data->bus_reg_write(st->back, reg, rval, xfer_size); in ad3552r_hs_update_reg_bits() 113 struct ad3552r_hs_state *st = iio_priv(indio_dev); in ad3552r_hs_read_raw() local [all …]
|
| /linux/drivers/macintosh/ |
| H A D | windfarm_pid.c | 25 void wf_pid_init(struct wf_pid_state *st, struct wf_pid_param *param) in wf_pid_init() argument 27 memset(st, 0, sizeof(struct wf_pid_state)); in wf_pid_init() 28 st->param = *param; in wf_pid_init() 29 st->first = 1; in wf_pid_init() 33 s32 wf_pid_run(struct wf_pid_state *st, s32 new_sample) in wf_pid_run() argument 37 int i, hlen = st->param.history_len; in wf_pid_run() 40 error = new_sample - st->param.itarget; in wf_pid_run() 43 if (st->first) { in wf_pid_run() 45 st->samples[i] = new_sample; in wf_pid_run() 46 st->errors[i] = error; in wf_pid_run() [all …]
|
| /linux/lib/crypto/ |
| H A D | sha3.c | 52 static SHA3_INLINE void sha3_keccakf_one_round_generic(u64 st[25], int round) in sha3_keccakf_one_round_generic() 57 bc[0] = st[0] ^ st[5] ^ st[10] ^ st[15] ^ st[20]; in sha3_keccakf_one_round_generic() 58 bc[1] = st[1] ^ st[6] ^ st[11] ^ st[1 in sha3_keccakf_one_round_generic() [all...] |
| /linux/drivers/hwmon/ |
| H A D | ltc4282.c | 157 struct ltc4282_state *st = container_of(hw, struct ltc4282_state, in ltc4282_set_rate() local 164 return regmap_update_bits(st->map, LTC4282_CLK_DIV, LTC4282_CLKOUT_MASK, in ltc4282_set_rate() 190 struct ltc4282_state *st = container_of(hw, struct ltc4282_state, in ltc4282_recalc_rate() local 195 ret = regmap_read(st->map, LTC4282_CLK_DIV, &clkdiv); in ltc4282_recalc_rate() 210 struct ltc4282_state *st = container_of(clk_hw, struct ltc4282_state, in ltc4282_disable() local 213 regmap_clear_bits(st->map, LTC4282_CLK_DIV, LTC4282_CLKOUT_MASK); in ltc4282_disable() 216 static int ltc4282_read_voltage_word(const struct ltc4282_state *st, u32 reg, in ltc4282_read_voltage_word() argument 222 ret = regmap_bulk_read(st->map, reg, &in, sizeof(in)); in ltc4282_read_voltage_word() 234 static int ltc4282_read_voltage_byte_cached(const struct ltc4282_state *st, in ltc4282_read_voltage_byte_cached() argument 244 ret = regmap_read(st->map, reg, &in); in ltc4282_read_voltage_byte_cached() [all …]
|
| /linux/Documentation/devicetree/bindings/iio/accel/ |
| H A D | lis302.txt | 8 - compatible: should be set to "st,lis3lv02d-spi" 15 - compatible: should be set to "st,lis3lv02d" 23 - st,click-single-{x,y,z}: if present, tells the device to issue an 26 - st,click-double-{x,y,z}: if present, tells the device to issue an 29 - st,click-thresh-{x,y,z}: set the x/y/z axis threshold 30 - st,click-click-time-limit: click time limit, from 0 to 127.5msec 32 - st,click-latency: click latency, from 0 to 255 msec with 34 - st,click-window: click window, from 0 to 255 msec with 36 - st,irq{1,2}-disable: disable IRQ 1/2 37 - st,irq{1,2}-ff-wu-1: raise IRQ 1/2 on FF_WU_1 condition [all …]
|
| /linux/drivers/accel/ethosu/ |
| H A D | ethosu_gem.c | 150 static void cmd_state_init(struct cmd_state *st) in cmd_state_init() argument 153 memset(st, 0xff, sizeof(*st)); in cmd_state_init() 264 u16 op, struct cmd_state *st, in calc_sizes() argument 271 if (st->ifm.stride_kernel == U16_MAX) in calc_sizes() 273 u32 stride_y = ((st->ifm.stride_kernel >> 8) & 0x2) + in calc_sizes() 274 ((st->ifm.stride_kernel >> 1) & 0x1) + 1; in calc_sizes() 275 u32 stride_x = ((st->ifm.stride_kernel >> 5) & 0x2) + in calc_sizes() 276 (st->ifm.stride_kernel & 0x1) + 1; in calc_sizes() 277 s32 ifm_height = st->ofm.height[2] * stride_y + in calc_sizes() 278 st->ifm.height[2] - (st->ifm.pad_top + st->ifm.pad_bottom); in calc_sizes() [all …]
|
| /linux/drivers/iio/addac/ |
| H A D | ad74413r.c | 174 struct ad74413r_state *st = context; in ad74413r_reg_write() local 176 ad74413r_format_reg_write(reg, val, st->reg_tx_buf); in ad74413r_reg_write() 178 return spi_write(st->spi, st->reg_tx_buf, AD74413R_FRAME_SIZE); in ad74413r_reg_write() 181 static int ad74413r_crc_check(struct ad74413r_state *st, u8 *buf) in ad74413r_crc_check() argument 186 dev_err(st->dev, "Bad CRC %02x for %02x%02x%02x\n", in ad74413r_crc_check() 196 struct ad74413r_state *st = context; in ad74413r_reg_read() local 199 .tx_buf = st->reg_tx_buf, in ad74413r_reg_read() 204 .rx_buf = st->reg_rx_buf, in ad74413r_reg_read() 211 st->reg_tx_buf); in ad74413r_reg_read() 213 ret = spi_sync_transfer(st->spi, reg_read_xfer, in ad74413r_reg_read() [all …]
|
| /linux/drivers/iio/frequency/ |
| H A D | adf4350.c | 78 static int adf4350_sync_config(struct adf4350_state *st) in adf4350_sync_config() argument 83 if ((st->regs_hw[i] != st->regs[i]) || in adf4350_sync_config() 92 st->val = cpu_to_be32(st->regs[i] | i); in adf4350_sync_config() 93 ret = spi_write(st->spi, &st->val, 4); in adf4350_sync_config() 96 st->regs_hw[i] = st->regs[i]; in adf4350_sync_config() 97 dev_dbg(&st->spi->dev, "[%d] 0x%X\n", in adf4350_sync_config() 98 i, (u32)st->regs[i] | i); in adf4350_sync_config() 108 struct adf4350_state *st = iio_priv(indio_dev); in adf4350_reg_access() local 114 mutex_lock(&st->lock); in adf4350_reg_access() 116 st->regs[reg] = writeval & ~(BIT(0) | BIT(1) | BIT(2)); in adf4350_reg_access() [all …]
|
| H A D | admv4420.c | 129 struct admv4420_state *st = iio_priv(indio_dev); in admv4420_reg_access() local 132 return regmap_read(st->regmap, reg, readval); in admv4420_reg_access() 134 return regmap_write(st->regmap, reg, writeval); in admv4420_reg_access() 137 static int admv4420_set_n_counter(struct admv4420_state *st, u32 int_val, in admv4420_set_n_counter() argument 142 put_unaligned_le32(frac_val, st->transf_buf); in admv4420_set_n_counter() 143 ret = regmap_bulk_write(st->regmap, ADMV4420_FRAC_L, st->transf_buf, 3); in admv4420_set_n_counter() 147 put_unaligned_le32(mod_val, st->transf_buf); in admv4420_set_n_counter() 148 ret = regmap_bulk_write(st->regmap, ADMV4420_MOD_L, st->transf_buf, 3); in admv4420_set_n_counter() 152 put_unaligned_le32(int_val, st->transf_buf); in admv4420_set_n_counter() 153 return regmap_bulk_write(st->regmap, ADMV4420_INT_L, st->transf_buf, 2); in admv4420_set_n_counter() [all …]
|
| H A D | adf4377.c | 486 struct adf4377_state *st = iio_priv(indio_dev); in adf4377_reg_access() local 489 return regmap_read(st->regmap, reg, read_val); in adf4377_reg_access() 491 return regmap_write(st->regmap, reg, write_val); in adf4377_reg_access() 498 static int adf4377_soft_reset(struct adf4377_state *st) in adf4377_soft_reset() argument 503 ret = regmap_update_bits(st->regmap, 0x0, ADF4377_0000_SOFT_RESET_MSK | in adf4377_soft_reset() 510 return regmap_read_poll_timeout(st->regmap, 0x0, read_val, in adf4377_soft_reset() 515 static int adf4377_get_freq(struct adf4377_state *st, u64 *freq) in adf4377_get_freq() argument 521 mutex_lock(&st->lock); in adf4377_get_freq() 522 ret = regmap_read(st->regmap, 0x12, &ref_div_factor); in adf4377_get_freq() 526 ret = regmap_bulk_read(st->regmap, 0x10, st->buf, sizeof(st->buf)); in adf4377_get_freq() [all …]
|
| /linux/drivers/iio/imu/inv_mpu6050/ |
| H A D | inv_mpu_trigger.c | 15 struct inv_mpu6050_state *st = iio_priv(indio_dev); in inv_scan_query_mpu6050() local 24 st->chip_config.temp_fifo_enable = true; in inv_scan_query_mpu6050() 28 st->chip_config.gyro_fifo_enable = in inv_scan_query_mpu6050() 36 st->chip_config.accl_fifo_enable = in inv_scan_query_mpu6050() 44 st->chip_config.temp_fifo_enable = in inv_scan_query_mpu6050() 48 if (st->chip_config.gyro_fifo_enable) in inv_scan_query_mpu6050() 50 if (st->chip_config.accl_fifo_enable) in inv_scan_query_mpu6050() 52 if (st->chip_config.temp_fifo_enable) in inv_scan_query_mpu6050() 60 struct inv_mpu6050_state *st = iio_priv(indio_dev); in inv_scan_query_mpu9x50() local 66 if (st->magn_disabled) in inv_scan_query_mpu9x50() [all …]
|
| H A D | inv_mpu_core.c | 317 static int inv_mpu6050_pwr_mgmt_1_write(struct inv_mpu6050_state *st, bool sleep, in inv_mpu6050_pwr_mgmt_1_write() argument 323 clock = st->chip_config.clk; in inv_mpu6050_pwr_mgmt_1_write() 325 temp_dis = !st->chip_config.temp_en; in inv_mpu6050_pwr_mgmt_1_write() 335 dev_dbg(regmap_get_device(st->map), "pwr_mgmt_1: 0x%x\n", val); in inv_mpu6050_pwr_mgmt_1_write() 336 return regmap_write(st->map, st->reg->pwr_mgmt_1, val); in inv_mpu6050_pwr_mgmt_1_write() 339 static int inv_mpu6050_clock_switch(struct inv_mpu6050_state *st, in inv_mpu6050_clock_switch() argument 344 switch (st->chip_type) { in inv_mpu6050_clock_switch() 349 ret = inv_mpu6050_pwr_mgmt_1_write(st, false, false, clock, -1); in inv_mpu6050_clock_switch() 352 st->chip_config.clk = clock; in inv_mpu6050_clock_switch() 362 int inv_mpu6050_switch_engine(struct inv_mpu6050_state *st, bool en, in inv_mpu6050_switch_engine() argument [all …]
|
| /linux/drivers/staging/iio/frequency/ |
| H A D | ad9834.c | 110 static int ad9834_write_frequency(struct ad9834_state *st, in ad9834_write_frequency() argument 116 clk_freq = clk_get_rate(st->mclk); in ad9834_write_frequency() 123 st->freq_data[0] = cpu_to_be16(addr | (regval & in ad9834_write_frequency() 125 st->freq_data[1] = cpu_to_be16(addr | ((regval >> in ad9834_write_frequency() 129 return spi_sync(st->spi, &st->freq_msg); in ad9834_write_frequency() 132 static int ad9834_write_phase(struct ad9834_state *st, in ad9834_write_phase() argument 137 st->data = cpu_to_be16(addr | phase); in ad9834_write_phase() 139 return spi_sync(st->spi, &st->msg); in ad9834_write_phase() 148 struct ad9834_state *st = iio_priv(indio_dev); in ad9834_write() local 157 mutex_lock(&st->lock); in ad9834_write() [all …]
|
| H A D | ad9832.c | 125 static int ad9832_write_frequency(struct ad9832_state *st, in ad9832_write_frequency() argument 133 clk_freq = clk_get_rate(st->mclk); in ad9832_write_frequency() 144 st->freq_data[i] = cpu_to_be16(FIELD_PREP(AD9832_CMD_MSK, freq_cmd) | in ad9832_write_frequency() 149 return spi_sync(st->spi, &st->freq_msg); in ad9832_write_frequency() 152 static int ad9832_write_phase(struct ad9832_state *st, in ad9832_write_phase() argument 166 st->phase_data[i] = cpu_to_be16(FIELD_PREP(AD9832_CMD_MSK, phase_cmd) | in ad9832_write_phase() 171 return spi_sync(st->spi, &st->phase_msg); in ad9832_write_phase() 178 struct ad9832_state *st = iio_priv(indio_dev); in ad9832_write() local 187 mutex_lock(&st->lock); in ad9832_write() 191 ret = ad9832_write_frequency(st, this_attr->address, val); in ad9832_write() [all …]
|
| /linux/drivers/iio/imu/inv_icm42600/ |
| H A D | inv_icm42600_buffer.c | 102 void inv_icm42600_buffer_update_fifo_period(struct inv_icm42600_state *st) in inv_icm42600_buffer_update_fifo_period() argument 106 if (st->fifo.en & INV_ICM42600_SENSOR_GYRO) in inv_icm42600_buffer_update_fifo_period() 107 period_gyro = inv_icm42600_odr_to_period(st->conf.gyro.odr); in inv_icm42600_buffer_update_fifo_period() 111 if (st->fifo.en & INV_ICM42600_SENSOR_ACCEL) in inv_icm42600_buffer_update_fifo_period() 112 period_accel = inv_icm42600_odr_to_period(st->conf.accel.odr); in inv_icm42600_buffer_update_fifo_period() 116 st->fifo.period = min(period_gyro, period_accel); in inv_icm42600_buffer_update_fifo_period() 119 int inv_icm42600_buffer_set_fifo_en(struct inv_icm42600_state *st, in inv_icm42600_buffer_set_fifo_en() argument 139 ret = regmap_update_bits(st->map, INV_ICM42600_REG_FIFO_CONFIG1, mask, val); in inv_icm42600_buffer_set_fifo_en() 143 st->fifo.en = fifo_en; in inv_icm42600_buffer_set_fifo_en() 144 inv_icm42600_buffer_update_fifo_period(st); in inv_icm42600_buffer_set_fifo_en() [all …]
|
| /linux/drivers/iio/accel/ |
| H A D | adxl367.c | 270 static int adxl367_set_measure_en(struct adxl367_state *st, bool en) in adxl367_set_measure_en() argument 276 ret = regmap_update_bits(st->regmap, ADXL367_REG_POWER_CTL, in adxl367_set_measure_en() 293 static void adxl367_scale_act_thresholds(struct adxl367_state *st, in adxl367_scale_act_thresholds() argument 297 st->act_threshold = st->act_threshold in adxl367_scale_act_thresholds() 300 st->inact_threshold = st->inact_threshold in adxl367_scale_act_thresholds() 305 static int _adxl367_set_act_threshold(struct adxl367_state *st, in _adxl367_set_act_threshold() argument 315 st->act_threshold_buf[0] = FIELD_PREP(ADXL367_THRESH_H_MASK, in _adxl367_set_act_threshold() 318 st->act_threshold_buf[1] = FIELD_PREP(ADXL367_THRESH_L_MASK, in _adxl367_set_act_threshold() 322 ret = regmap_bulk_write(st->regmap, reg, st->act_threshold_buf, in _adxl367_set_act_threshold() 323 sizeof(st->act_threshold_buf)); in _adxl367_set_act_threshold() [all …]
|
| H A D | sca3000.c | 268 static int sca3000_write_reg(struct sca3000_state *st, u8 address, u8 val) in sca3000_write_reg() argument 270 st->tx[0] = SCA3000_WRITE_REG(address); in sca3000_write_reg() 271 st->tx[1] = val; in sca3000_write_reg() 272 return spi_write(st->us, st->tx, 2); in sca3000_write_reg() 275 static int sca3000_read_data_short(struct sca3000_state *st, in sca3000_read_data_short() argument 282 .tx_buf = st->tx, in sca3000_read_data_short() 285 .rx_buf = st->rx, in sca3000_read_data_short() 288 st->tx[0] = SCA3000_READ_REG(reg_address_high); in sca3000_read_data_short() 290 return spi_sync_transfer(st->us, xfer, ARRAY_SIZE(xfer)); in sca3000_read_data_short() 295 * @st: Driver specific device instance data. [all …]
|
| /linux/drivers/iio/adc/ |
| H A D | at91-sama5d2_adc.c | 440 #define at91_adc_readl(st, reg) \ argument 441 readl_relaxed((st)->base + (st)->soc_info.platform->layout->reg) 442 #define at91_adc_read_chan(st, reg) \ argument 443 readl_relaxed((st)->base + reg) 444 #define at91_adc_writel(st, reg, val) \ argument 445 writel_relaxed(val, (st)->base + (st)->soc_info.platform->layout->reg) 780 struct at91_adc_state *st = iio_priv(indio_dev); in at91_adc_active_scan_mask_to_reg() local 789 return mask & GENMASK(st->soc_info.platform->nr_channels, 0); in at91_adc_active_scan_mask_to_reg() 792 static void at91_adc_cor(struct at91_adc_state *st, in at91_adc_cor() argument 799 cur_cor = at91_adc_readl(st, COR); in at91_adc_cor() [all …]
|
| H A D | ad7298.c | 105 struct ad7298_state *st = iio_priv(indio_dev); in ad7298_update_scan_mode() local 114 command = AD7298_WRITE | st->ext_ref; in ad7298_update_scan_mode() 120 st->tx_buf[0] = cpu_to_be16(command); in ad7298_update_scan_mode() 123 st->ring_xfer[0].tx_buf = &st->tx_buf[0]; in ad7298_update_scan_mode() 124 st->ring_xfer[0].len = 2; in ad7298_update_scan_mode() 125 st->ring_xfer[0].cs_change = 1; in ad7298_update_scan_mode() 126 st->ring_xfer[1].tx_buf = &st->tx_buf[1]; in ad7298_update_scan_mode() 127 st->ring_xfer[1].len = 2; in ad7298_update_scan_mode() 128 st->ring_xfer[1].cs_change = 1; in ad7298_update_scan_mode() 130 spi_message_init(&st->ring_msg); in ad7298_update_scan_mode() [all …]
|
| H A D | ad7887.c | 83 struct ad7887_state *st = iio_priv(indio_dev); in ad7887_ring_preenable() local 88 st->ring_msg = &st->msg[AD7887_CH0]; in ad7887_ring_preenable() 91 st->ring_msg = &st->msg[AD7887_CH1]; in ad7887_ring_preenable() 93 spi_sync(st->spi, st->ring_msg); in ad7887_ring_preenable() 96 st->ring_msg = &st->msg[AD7887_CH0_CH1]; in ad7887_ring_preenable() 105 struct ad7887_state *st = iio_priv(indio_dev); in ad7887_ring_postdisable() local 108 return spi_sync(st->spi, &st->msg[AD7887_CH0]); in ad7887_ring_postdisable() 115 struct ad7887_state *st = iio_priv(indio_dev); in ad7887_trigger_handler() local 118 b_sent = spi_sync(st->spi, st->ring_msg); in ad7887_trigger_handler() 122 iio_push_to_buffers_with_timestamp(indio_dev, st->data, in ad7887_trigger_handler() [all …]
|
| H A D | ad7192.c | 231 struct ad7192_state *st = iio_priv(indio_dev); in ad7192_set_syscalib_mode() local 233 st->syscalib_mode[chan->channel] = mode; in ad7192_set_syscalib_mode() 241 struct ad7192_state *st = iio_priv(indio_dev); in ad7192_get_syscalib_mode() local 243 return st->syscalib_mode[chan->channel]; in ad7192_get_syscalib_mode() 251 struct ad7192_state *st = iio_priv(indio_dev); in ad7192_write_syscalib() local 262 temp = st->syscalib_mode[chan->channel]; in ad7192_write_syscalib() 265 ret = ad_sd_calibrate(&st->sd, AD7192_MODE_CAL_SYS_ZERO, in ad7192_write_syscalib() 268 ret = ad_sd_calibrate(&st->sd, AD7192_MODE_CAL_SYS_FULL, in ad7192_write_syscalib() 304 struct ad7192_state *st = ad_sigma_delta_to_ad7192(sd); in ad7192_set_channel() local 306 st->conf &= ~AD7192_CONF_CHAN_MASK; in ad7192_set_channel() [all …]
|
| H A D | ad4691.c | 521 static int ad4691_gpio_setup(struct ad4691_state *st, unsigned int gp_num) in ad4691_gpio_setup() argument 527 return regmap_update_bits(st->regmap, in ad4691_gpio_setup() 549 struct ad4691_state *st = spi_offload_trigger_get_priv(trigger); in ad4691_offload_trigger_request() local 554 return ad4691_gpio_setup(st, args[0]); in ad4691_offload_trigger_request() 727 static unsigned int ad4691_find_osc_freq(struct ad4691_state *st, in ad4691_find_osc_freq() argument 731 unsigned int start = ad4691_samp_freq_start(st->info); in ad4691_find_osc_freq() 744 static int ad4691_write_osc_freq(struct ad4691_state *st) in ad4691_write_osc_freq() argument 747 if (ad4691_osc_freqs_Hz[i] == st->target_osc_freq_Hz) in ad4691_write_osc_freq() 748 return regmap_write(st->regmap, AD4691_OSC_FREQ_REG, i); in ad4691_write_osc_freq() 766 * (osc_freq / osr). Called once at probe after st->info is set. [all …]
|
| /linux/drivers/iio/imu/inv_icm45600/ |
| H A D | inv_icm45600_buffer.c | 102 void inv_icm45600_buffer_update_fifo_period(struct inv_icm45600_state *st) in inv_icm45600_buffer_update_fifo_period() argument 106 if (st->fifo.en & INV_ICM45600_SENSOR_GYRO) in inv_icm45600_buffer_update_fifo_period() 107 period_gyro = inv_icm45600_odr_to_period(st->conf.gyro.odr); in inv_icm45600_buffer_update_fifo_period() 111 if (st->fifo.en & INV_ICM45600_SENSOR_ACCEL) in inv_icm45600_buffer_update_fifo_period() 112 period_accel = inv_icm45600_odr_to_period(st->conf.accel.odr); in inv_icm45600_buffer_update_fifo_period() 116 st->fifo.period = min(period_gyro, period_accel); in inv_icm45600_buffer_update_fifo_period() 119 int inv_icm45600_buffer_set_fifo_en(struct inv_icm45600_state *st, in inv_icm45600_buffer_set_fifo_en() argument 128 ret = regmap_assign_bits(st->map, INV_ICM45600_REG_FIFO_CONFIG3, mask, in inv_icm45600_buffer_set_fifo_en() 134 st->fifo.en = fifo_en; in inv_icm45600_buffer_set_fifo_en() 135 inv_icm45600_buffer_update_fifo_period(st); in inv_icm45600_buffer_set_fifo_en() [all …]
|