Lines Matching refs:st
70 static int ad5504_spi_write(struct ad5504_state *st, u8 addr, u16 val) in ad5504_spi_write() argument
72 st->data[0] = cpu_to_be16(AD5504_CMD_WRITE | AD5504_ADDR(addr) | in ad5504_spi_write()
75 return spi_write(st->spi, &st->data[0], 2); in ad5504_spi_write()
78 static int ad5504_spi_read(struct ad5504_state *st, u8 addr) in ad5504_spi_read() argument
82 .tx_buf = &st->data[0], in ad5504_spi_read()
83 .rx_buf = &st->data[1], in ad5504_spi_read()
87 st->data[0] = cpu_to_be16(AD5504_CMD_READ | AD5504_ADDR(addr)); in ad5504_spi_read()
88 ret = spi_sync_transfer(st->spi, &t, 1); in ad5504_spi_read()
92 return be16_to_cpu(st->data[1]) & AD5504_RES_MASK; in ad5504_spi_read()
101 struct ad5504_state *st = iio_priv(indio_dev); in ad5504_read_raw() local
106 ret = ad5504_spi_read(st, chan->address); in ad5504_read_raw()
114 *val = st->vref_mv; in ad5504_read_raw()
127 struct ad5504_state *st = iio_priv(indio_dev); in ad5504_write_raw() local
134 return ad5504_spi_write(st, chan->address, val); in ad5504_write_raw()
148 struct ad5504_state *st = iio_priv(indio_dev); in ad5504_get_powerdown_mode() local
150 return st->pwr_down_mode; in ad5504_get_powerdown_mode()
156 struct ad5504_state *st = iio_priv(indio_dev); in ad5504_set_powerdown_mode() local
158 st->pwr_down_mode = mode; in ad5504_set_powerdown_mode()
173 struct ad5504_state *st = iio_priv(indio_dev); in ad5504_read_dac_powerdown() local
176 !(st->pwr_down_mask & (1 << chan->channel))); in ad5504_read_dac_powerdown()
185 struct ad5504_state *st = iio_priv(indio_dev); in ad5504_write_dac_powerdown() local
192 st->pwr_down_mask |= (1 << chan->channel); in ad5504_write_dac_powerdown()
194 st->pwr_down_mask &= ~(1 << chan->channel); in ad5504_write_dac_powerdown()
196 ret = ad5504_spi_write(st, AD5504_ADDR_CTRL, in ad5504_write_dac_powerdown()
197 AD5504_DAC_PWRDWN_MODE(st->pwr_down_mode) | in ad5504_write_dac_powerdown()
198 AD5504_DAC_PWR(st->pwr_down_mask)); in ad5504_write_dac_powerdown()
201 ad5504_spi_write(st, AD5504_ADDR_NOOP, 0); in ad5504_write_dac_powerdown()
278 struct ad5504_state *st; in ad5504_probe() local
282 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in ad5504_probe()
299 st = iio_priv(indio_dev); in ad5504_probe()
301 st->vref_mv = voltage_uv / 1000; in ad5504_probe()
303 st->vref_mv = pdata->vref_mv; in ad5504_probe()
307 st->reg = reg; in ad5504_probe()
308 st->spi = spi; in ad5504_probe()
310 indio_dev->name = spi_get_device_id(st->spi)->name; in ad5504_probe()
312 if (spi_get_device_id(st->spi)->driver_data == ID_AD5501) in ad5504_probe()
324 spi_get_device_id(st->spi)->name, in ad5504_probe()
346 struct ad5504_state *st = iio_priv(indio_dev); in ad5504_remove() local
350 if (!IS_ERR(st->reg)) in ad5504_remove()
351 regulator_disable(st->reg); in ad5504_remove()