Lines Matching refs:indio_dev

112 static int ad5755_write_unlocked(struct iio_dev *indio_dev,  in ad5755_write_unlocked()  argument
115 struct ad5755_state *st = iio_priv(indio_dev); in ad5755_write_unlocked()
122 static int ad5755_write_ctrl_unlocked(struct iio_dev *indio_dev, in ad5755_write_ctrl_unlocked() argument
125 return ad5755_write_unlocked(indio_dev, in ad5755_write_ctrl_unlocked()
129 static int ad5755_write(struct iio_dev *indio_dev, unsigned int reg, in ad5755_write() argument
134 mutex_lock(&indio_dev->mlock); in ad5755_write()
135 ret = ad5755_write_unlocked(indio_dev, reg, val); in ad5755_write()
136 mutex_unlock(&indio_dev->mlock); in ad5755_write()
141 static int ad5755_write_ctrl(struct iio_dev *indio_dev, unsigned int channel, in ad5755_write_ctrl() argument
146 mutex_lock(&indio_dev->mlock); in ad5755_write_ctrl()
147 ret = ad5755_write_ctrl_unlocked(indio_dev, channel, reg, val); in ad5755_write_ctrl()
148 mutex_unlock(&indio_dev->mlock); in ad5755_write_ctrl()
153 static int ad5755_read(struct iio_dev *indio_dev, unsigned int addr) in ad5755_read() argument
155 struct ad5755_state *st = iio_priv(indio_dev); in ad5755_read()
169 mutex_lock(&indio_dev->mlock); in ad5755_read()
178 mutex_unlock(&indio_dev->mlock); in ad5755_read()
183 static int ad5755_update_dac_ctrl(struct iio_dev *indio_dev, in ad5755_update_dac_ctrl() argument
186 struct ad5755_state *st = iio_priv(indio_dev); in ad5755_update_dac_ctrl()
192 ret = ad5755_write_ctrl_unlocked(indio_dev, channel, in ad5755_update_dac_ctrl()
198 static int ad5755_set_channel_pwr_down(struct iio_dev *indio_dev, in ad5755_set_channel_pwr_down() argument
201 struct ad5755_state *st = iio_priv(indio_dev); in ad5755_set_channel_pwr_down()
204 mutex_lock(&indio_dev->mlock); in ad5755_set_channel_pwr_down()
211 ad5755_update_dac_ctrl(indio_dev, channel, in ad5755_set_channel_pwr_down()
214 ad5755_update_dac_ctrl(indio_dev, channel, in ad5755_set_channel_pwr_down()
218 ad5755_update_dac_ctrl(indio_dev, channel, in ad5755_set_channel_pwr_down()
224 mutex_unlock(&indio_dev->mlock); in ad5755_set_channel_pwr_down()
292 static int ad5755_read_raw(struct iio_dev *indio_dev, in ad5755_read_raw() argument
295 struct ad5755_state *st = iio_priv(indio_dev); in ad5755_read_raw()
315 ret = ad5755_read(indio_dev, reg); in ad5755_read_raw()
327 static int ad5755_write_raw(struct iio_dev *indio_dev, in ad5755_write_raw() argument
330 struct ad5755_state *st = iio_priv(indio_dev); in ad5755_write_raw()
345 return ad5755_write(indio_dev, reg, val); in ad5755_write_raw()
348 static ssize_t ad5755_read_powerdown(struct iio_dev *indio_dev, uintptr_t priv, in ad5755_read_powerdown() argument
351 struct ad5755_state *st = iio_priv(indio_dev); in ad5755_read_powerdown()
357 static ssize_t ad5755_write_powerdown(struct iio_dev *indio_dev, uintptr_t priv, in ad5755_write_powerdown() argument
367 ret = ad5755_set_channel_pwr_down(indio_dev, chan->channel, pwr_down); in ad5755_write_powerdown()
444 static int ad5755_setup_pdata(struct iio_dev *indio_dev, in ad5755_setup_pdata() argument
447 struct ad5755_state *st = iio_priv(indio_dev); in ad5755_setup_pdata()
463 ret = ad5755_write_ctrl(indio_dev, 0, AD5755_CTRL_REG_DC_DC, val); in ad5755_setup_pdata()
475 ret = ad5755_write_ctrl(indio_dev, i, in ad5755_setup_pdata()
492 ret = ad5755_update_dac_ctrl(indio_dev, i, val, 0); in ad5755_setup_pdata()
513 static int ad5755_init_channels(struct iio_dev *indio_dev, in ad5755_init_channels() argument
516 struct ad5755_state *st = iio_priv(indio_dev); in ad5755_init_channels()
530 indio_dev->channels = channels; in ad5755_init_channels()
563 struct iio_dev *indio_dev; in ad5755_probe() local
567 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in ad5755_probe()
568 if (indio_dev == NULL) { in ad5755_probe()
573 st = iio_priv(indio_dev); in ad5755_probe()
574 spi_set_drvdata(spi, indio_dev); in ad5755_probe()
580 indio_dev->dev.parent = &spi->dev; in ad5755_probe()
581 indio_dev->name = spi_get_device_id(spi)->name; in ad5755_probe()
582 indio_dev->info = &ad5755_info; in ad5755_probe()
583 indio_dev->modes = INDIO_DIRECT_MODE; in ad5755_probe()
584 indio_dev->num_channels = AD5755_NUM_CHANNELS; in ad5755_probe()
589 ret = ad5755_init_channels(indio_dev, pdata); in ad5755_probe()
593 ret = ad5755_setup_pdata(indio_dev, pdata); in ad5755_probe()
597 return devm_iio_device_register(&spi->dev, indio_dev); in ad5755_probe()