Lines Matching refs:st

169 static unsigned int ad5360_get_channel_vref_index(struct ad5360_state *st,  in ad5360_get_channel_vref_index()  argument
176 i = channel / st->chip_info->channels_per_group; in ad5360_get_channel_vref_index()
177 if (i >= st->chip_info->num_vrefs) in ad5360_get_channel_vref_index()
178 i = st->chip_info->num_vrefs - 1; in ad5360_get_channel_vref_index()
183 static int ad5360_get_channel_vref(struct ad5360_state *st, in ad5360_get_channel_vref() argument
186 unsigned int i = ad5360_get_channel_vref_index(st, channel); in ad5360_get_channel_vref()
188 return regulator_get_voltage(st->vref_reg[i].consumer); in ad5360_get_channel_vref()
196 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_write_unlocked() local
200 st->data[0].d32 = cpu_to_be32(val); in ad5360_write_unlocked()
202 return spi_write(st->spi, &st->data[0].d8[1], 3); in ad5360_write_unlocked()
220 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_read() local
224 .tx_buf = &st->data[0].d8[1], in ad5360_read()
228 .rx_buf = &st->data[1].d8[1], in ad5360_read()
235 st->data[0].d32 = cpu_to_be32(AD5360_CMD(AD5360_CMD_SPECIAL_FUNCTION) | in ad5360_read()
240 ret = spi_sync_transfer(st->spi, t, ARRAY_SIZE(t)); in ad5360_read()
242 ret = be32_to_cpu(st->data[1].d32) & 0xffff; in ad5360_read()
254 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_read_dac_powerdown() local
256 return sprintf(buf, "%d\n", (bool)(st->ctrl & AD5360_SF_CTRL_PWR_DOWN)); in ad5360_read_dac_powerdown()
262 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_update_ctrl() local
267 st->ctrl |= set; in ad5360_update_ctrl()
268 st->ctrl &= ~clr; in ad5360_update_ctrl()
271 AD5360_REG_SF_CTRL, st->ctrl, 0); in ad5360_update_ctrl()
317 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_write_raw() local
357 ofs_index = ad5360_get_channel_vref_index(st, chan->channel); in ad5360_write_raw()
373 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_read_raw() local
387 scale_uv = ad5360_get_channel_vref(st, chan->channel); in ad5360_read_raw()
410 ofs_index = ad5360_get_channel_vref_index(st, chan->channel); in ad5360_read_raw()
437 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_alloc_channels() local
441 channels = kcalloc(st->chip_info->num_channels, in ad5360_alloc_channels()
447 for (i = 0; i < st->chip_info->num_channels; ++i) { in ad5360_alloc_channels()
448 channels[i] = st->chip_info->channel_template; in ad5360_alloc_channels()
462 struct ad5360_state *st; in ad5360_probe() local
466 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in ad5360_probe()
472 st = iio_priv(indio_dev); in ad5360_probe()
475 st->chip_info = &ad5360_chip_info_tbl[type]; in ad5360_probe()
476 st->spi = spi; in ad5360_probe()
482 indio_dev->num_channels = st->chip_info->num_channels; in ad5360_probe()
490 for (i = 0; i < st->chip_info->num_vrefs; ++i) in ad5360_probe()
491 st->vref_reg[i].supply = ad5360_vref_name[i]; in ad5360_probe()
493 ret = devm_regulator_bulk_get(&st->spi->dev, st->chip_info->num_vrefs, in ad5360_probe()
494 st->vref_reg); in ad5360_probe()
500 ret = regulator_bulk_enable(st->chip_info->num_vrefs, st->vref_reg); in ad5360_probe()
515 regulator_bulk_disable(st->chip_info->num_vrefs, st->vref_reg); in ad5360_probe()
525 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_remove() local
531 regulator_bulk_disable(st->chip_info->num_vrefs, st->vref_reg); in ad5360_remove()