Lines Matching refs:st

123 static int ad7606_spi_reg_read(struct ad7606_state *st, unsigned int addr)  in ad7606_spi_reg_read()  argument
125 struct spi_device *spi = to_spi_device(st->dev); in ad7606_spi_reg_read()
128 .tx_buf = &st->d16[0], in ad7606_spi_reg_read()
132 .rx_buf = &st->d16[1], in ad7606_spi_reg_read()
138 st->d16[0] = cpu_to_be16(st->bops->rd_wr_cmd(addr, 0) << 8); in ad7606_spi_reg_read()
144 return be16_to_cpu(st->d16[1]); in ad7606_spi_reg_read()
147 static int ad7606_spi_reg_write(struct ad7606_state *st, in ad7606_spi_reg_write() argument
151 struct spi_device *spi = to_spi_device(st->dev); in ad7606_spi_reg_write()
153 st->d16[0] = cpu_to_be16((st->bops->rd_wr_cmd(addr, 1) << 8) | in ad7606_spi_reg_write()
156 return spi_write(spi, &st->d16[0], sizeof(st->d16[0])); in ad7606_spi_reg_write()
159 static int ad7606_spi_write_mask(struct ad7606_state *st, in ad7606_spi_write_mask() argument
166 readval = st->bops->reg_read(st, addr); in ad7606_spi_write_mask()
173 return st->bops->reg_write(st, addr, readval); in ad7606_spi_write_mask()
178 struct ad7606_state *st = iio_priv(indio_dev); in ad7616_write_scale_sw() local
200 return st->bops->write_mask(st, ch_addr, AD7616_RANGE_CH_MSK(ch_index), in ad7616_write_scale_sw()
206 struct ad7606_state *st = iio_priv(indio_dev); in ad7616_write_os_sw() local
208 return st->bops->write_mask(st, AD7616_CONFIGURATION_REGISTER, in ad7616_write_os_sw()
214 struct ad7606_state *st = iio_priv(indio_dev); in ad7606_write_scale_sw() local
216 return ad7606_spi_write_mask(st, in ad7606_write_scale_sw()
224 struct ad7606_state *st = iio_priv(indio_dev); in ad7606_write_os_sw() local
226 return ad7606_spi_reg_write(st, AD7606_OS_MODE, val); in ad7606_write_os_sw()
231 struct ad7606_state *st = iio_priv(indio_dev); in ad7616_sw_mode_config() local
239 st->write_scale = ad7616_write_scale_sw; in ad7616_sw_mode_config()
240 st->write_os = &ad7616_write_os_sw; in ad7616_sw_mode_config()
243 return st->bops->write_mask(st, in ad7616_sw_mode_config()
251 struct ad7606_state *st = iio_priv(indio_dev); in ad7606B_sw_mode_config() local
260 if (st->gpio_os) { in ad7606B_sw_mode_config()
262 st->gpio_os->desc, st->gpio_os->info, os); in ad7606B_sw_mode_config()
265 st->oversampling_avail = ad7606B_oversampling_avail; in ad7606B_sw_mode_config()
266 st->num_os_ratios = ARRAY_SIZE(ad7606B_oversampling_avail); in ad7606B_sw_mode_config()
268 st->write_scale = ad7606_write_scale_sw; in ad7606B_sw_mode_config()
269 st->write_os = &ad7606_write_os_sw; in ad7606B_sw_mode_config()
272 st->bops->reg_write(st, in ad7606B_sw_mode_config()