Lines Matching refs:st

171 	struct ad7791_state *st = ad_sigma_delta_to_ad7791(sd);  in ad7791_set_mode()  local
186 st->mode &= ~AD7791_MODE_SEL_MASK; in ad7791_set_mode()
187 st->mode |= AD7791_MODE_SEL(mode); in ad7791_set_mode()
189 return ad_sd_write_reg(sd, AD7791_REG_MODE, sizeof(st->mode), st->mode); in ad7791_set_mode()
203 struct ad7791_state *st = iio_priv(indio_dev); in ad7791_read_raw() local
204 bool unipolar = !!(st->mode & AD7791_MODE_UNIPOLAR); in ad7791_read_raw()
230 voltage_uv = regulator_get_voltage(st->reg); in ad7791_read_raw()
262 struct ad7791_state *st = iio_priv(indio_dev); in ad7791_read_frequency() local
263 unsigned int rate = st->filter & AD7791_FILTER_RATE_MASK; in ad7791_read_frequency()
272 struct ad7791_state *st = iio_priv(indio_dev); in ad7791_write_frequency() local
288 st->filter &= ~AD7791_FILTER_RATE_MASK; in ad7791_write_frequency()
289 st->filter |= i; in ad7791_write_frequency()
290 ad_sd_write_reg(&st->sd, AD7791_REG_FILTER, in ad7791_write_frequency()
291 sizeof(st->filter), st->filter); in ad7791_write_frequency()
330 static int ad7791_setup(struct ad7791_state *st, in ad7791_setup() argument
334 st->mode = AD7791_MODE_BUFFER; in ad7791_setup()
335 st->filter = AD7791_FILTER_RATE_16_6; in ad7791_setup()
340 if ((st->info->flags & AD7791_FLAG_HAS_BUFFER) && !pdata->buffered) in ad7791_setup()
341 st->mode &= ~AD7791_MODE_BUFFER; in ad7791_setup()
343 if ((st->info->flags & AD7791_FLAG_HAS_BURNOUT) && in ad7791_setup()
345 st->mode |= AD7791_MODE_BURNOUT; in ad7791_setup()
347 if ((st->info->flags & AD7791_FLAG_HAS_UNIPOLAR) && pdata->unipolar) in ad7791_setup()
348 st->mode |= AD7791_MODE_UNIPOLAR; in ad7791_setup()
350 return ad_sd_write_reg(&st->sd, AD7791_REG_MODE, sizeof(st->mode), in ad7791_setup()
351 st->mode); in ad7791_setup()
358 struct ad7791_state *st; in ad7791_probe() local
366 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in ad7791_probe()
370 st = iio_priv(indio_dev); in ad7791_probe()
372 st->reg = devm_regulator_get(&spi->dev, "refin"); in ad7791_probe()
373 if (IS_ERR(st->reg)) in ad7791_probe()
374 return PTR_ERR(st->reg); in ad7791_probe()
376 ret = regulator_enable(st->reg); in ad7791_probe()
380 st->info = &ad7791_chip_infos[spi_get_device_id(spi)->driver_data]; in ad7791_probe()
381 ad_sd_init(&st->sd, indio_dev, spi, &ad7791_sigma_delta_info); in ad7791_probe()
388 indio_dev->channels = st->info->channels; in ad7791_probe()
389 indio_dev->num_channels = st->info->num_channels; in ad7791_probe()
390 if (st->info->flags & AD7791_FLAG_HAS_FILTER) in ad7791_probe()
399 ret = ad7791_setup(st, pdata); in ad7791_probe()
412 regulator_disable(st->reg); in ad7791_probe()
420 struct ad7791_state *st = iio_priv(indio_dev); in ad7791_remove() local
425 regulator_disable(st->reg); in ad7791_remove()