Lines Matching refs:indio_dev
192 static int ad5360_write_unlocked(struct iio_dev *indio_dev, in ad5360_write_unlocked() argument
196 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_write_unlocked()
205 static int ad5360_write(struct iio_dev *indio_dev, unsigned int cmd, in ad5360_write() argument
210 mutex_lock(&indio_dev->mlock); in ad5360_write()
211 ret = ad5360_write_unlocked(indio_dev, cmd, addr, val, shift); in ad5360_write()
212 mutex_unlock(&indio_dev->mlock); in ad5360_write()
217 static int ad5360_read(struct iio_dev *indio_dev, unsigned int type, in ad5360_read() argument
220 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_read()
233 mutex_lock(&indio_dev->mlock); in ad5360_read()
244 mutex_unlock(&indio_dev->mlock); in ad5360_read()
253 struct iio_dev *indio_dev = dev_to_iio_dev(dev); in ad5360_read_dac_powerdown() local
254 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_read_dac_powerdown()
259 static int ad5360_update_ctrl(struct iio_dev *indio_dev, unsigned int set, in ad5360_update_ctrl() argument
262 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_update_ctrl()
265 mutex_lock(&indio_dev->mlock); in ad5360_update_ctrl()
270 ret = ad5360_write_unlocked(indio_dev, AD5360_CMD_SPECIAL_FUNCTION, in ad5360_update_ctrl()
273 mutex_unlock(&indio_dev->mlock); in ad5360_update_ctrl()
281 struct iio_dev *indio_dev = dev_to_iio_dev(dev); in ad5360_write_dac_powerdown() local
290 ret = ad5360_update_ctrl(indio_dev, AD5360_SF_CTRL_PWR_DOWN, 0); in ad5360_write_dac_powerdown()
292 ret = ad5360_update_ctrl(indio_dev, 0, AD5360_SF_CTRL_PWR_DOWN); in ad5360_write_dac_powerdown()
311 static int ad5360_write_raw(struct iio_dev *indio_dev, in ad5360_write_raw() argument
317 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_write_raw()
326 return ad5360_write(indio_dev, AD5360_CMD_WRITE_DATA, in ad5360_write_raw()
333 return ad5360_write(indio_dev, AD5360_CMD_WRITE_OFFSET, in ad5360_write_raw()
340 return ad5360_write(indio_dev, AD5360_CMD_WRITE_GAIN, in ad5360_write_raw()
358 return ad5360_write(indio_dev, AD5360_CMD_SPECIAL_FUNCTION, in ad5360_write_raw()
367 static int ad5360_read_raw(struct iio_dev *indio_dev, in ad5360_read_raw() argument
373 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_read_raw()
380 ret = ad5360_read(indio_dev, AD5360_READBACK_X1A, in ad5360_read_raw()
396 ret = ad5360_read(indio_dev, AD5360_READBACK_OFFSET, in ad5360_read_raw()
403 ret = ad5360_read(indio_dev, AD5360_READBACK_GAIN, in ad5360_read_raw()
411 ret = ad5360_read(indio_dev, AD5360_READBACK_SF, in ad5360_read_raw()
435 static int ad5360_alloc_channels(struct iio_dev *indio_dev) in ad5360_alloc_channels() argument
437 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_alloc_channels()
453 indio_dev->channels = channels; in ad5360_alloc_channels()
461 struct iio_dev *indio_dev; in ad5360_probe() local
466 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in ad5360_probe()
467 if (indio_dev == NULL) { in ad5360_probe()
472 st = iio_priv(indio_dev); in ad5360_probe()
473 spi_set_drvdata(spi, indio_dev); in ad5360_probe()
478 indio_dev->dev.parent = &spi->dev; in ad5360_probe()
479 indio_dev->name = spi_get_device_id(spi)->name; in ad5360_probe()
480 indio_dev->info = &ad5360_info; in ad5360_probe()
481 indio_dev->modes = INDIO_DIRECT_MODE; in ad5360_probe()
482 indio_dev->num_channels = st->chip_info->num_channels; in ad5360_probe()
484 ret = ad5360_alloc_channels(indio_dev); in ad5360_probe()
506 ret = iio_device_register(indio_dev); in ad5360_probe()
517 kfree(indio_dev->channels); in ad5360_probe()
524 struct iio_dev *indio_dev = spi_get_drvdata(spi); in ad5360_remove() local
525 struct ad5360_state *st = iio_priv(indio_dev); in ad5360_remove()
527 iio_device_unregister(indio_dev); in ad5360_remove()
529 kfree(indio_dev->channels); in ad5360_remove()