Lines Matching refs:indio_dev
133 static int ad5421_write_unlocked(struct iio_dev *indio_dev, in ad5421_write_unlocked() argument
136 struct ad5421_state *st = iio_priv(indio_dev); in ad5421_write_unlocked()
143 static int ad5421_write(struct iio_dev *indio_dev, unsigned int reg, in ad5421_write() argument
148 mutex_lock(&indio_dev->mlock); in ad5421_write()
149 ret = ad5421_write_unlocked(indio_dev, reg, val); in ad5421_write()
150 mutex_unlock(&indio_dev->mlock); in ad5421_write()
155 static int ad5421_read(struct iio_dev *indio_dev, unsigned int reg) in ad5421_read() argument
157 struct ad5421_state *st = iio_priv(indio_dev); in ad5421_read()
170 mutex_lock(&indio_dev->mlock); in ad5421_read()
178 mutex_unlock(&indio_dev->mlock); in ad5421_read()
183 static int ad5421_update_ctrl(struct iio_dev *indio_dev, unsigned int set, in ad5421_update_ctrl() argument
186 struct ad5421_state *st = iio_priv(indio_dev); in ad5421_update_ctrl()
189 mutex_lock(&indio_dev->mlock); in ad5421_update_ctrl()
194 ret = ad5421_write_unlocked(indio_dev, AD5421_REG_CTRL, st->ctrl); in ad5421_update_ctrl()
196 mutex_unlock(&indio_dev->mlock); in ad5421_update_ctrl()
203 struct iio_dev *indio_dev = data; in ad5421_fault_handler() local
204 struct ad5421_state *st = iio_priv(indio_dev); in ad5421_fault_handler()
209 fault = ad5421_read(indio_dev, AD5421_REG_FAULT); in ad5421_fault_handler()
218 ad5421_update_ctrl(indio_dev, 0, 0); in ad5421_fault_handler()
240 iio_push_event(indio_dev, in ad5421_fault_handler()
249 iio_push_event(indio_dev, in ad5421_fault_handler()
258 iio_push_event(indio_dev, in ad5421_fault_handler()
267 fault = ad5421_read(indio_dev, AD5421_REG_FAULT); in ad5421_fault_handler()
312 static int ad5421_read_raw(struct iio_dev *indio_dev, in ad5421_read_raw() argument
315 struct ad5421_state *st = iio_priv(indio_dev); in ad5421_read_raw()
324 ret = ad5421_read(indio_dev, AD5421_REG_DAC_DATA); in ad5421_read_raw()
338 ret = ad5421_read(indio_dev, AD5421_REG_OFFSET); in ad5421_read_raw()
344 ret = ad5421_read(indio_dev, AD5421_REG_GAIN); in ad5421_read_raw()
354 static int ad5421_write_raw(struct iio_dev *indio_dev, in ad5421_write_raw() argument
364 return ad5421_write(indio_dev, AD5421_REG_DAC_DATA, val); in ad5421_write_raw()
370 return ad5421_write(indio_dev, AD5421_REG_OFFSET, val); in ad5421_write_raw()
375 return ad5421_write(indio_dev, AD5421_REG_GAIN, val); in ad5421_write_raw()
383 static int ad5421_write_event_config(struct iio_dev *indio_dev, in ad5421_write_event_config() argument
387 struct ad5421_state *st = iio_priv(indio_dev); in ad5421_write_event_config()
404 mutex_lock(&indio_dev->mlock); in ad5421_write_event_config()
409 mutex_unlock(&indio_dev->mlock); in ad5421_write_event_config()
414 static int ad5421_read_event_config(struct iio_dev *indio_dev, in ad5421_read_event_config() argument
418 struct ad5421_state *st = iio_priv(indio_dev); in ad5421_read_event_config()
438 static int ad5421_read_event_value(struct iio_dev *indio_dev, in ad5421_read_event_value() argument
447 ret = ad5421_read(indio_dev, AD5421_REG_DAC_DATA); in ad5421_read_event_value()
474 struct iio_dev *indio_dev; in ad5421_probe() local
478 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in ad5421_probe()
479 if (indio_dev == NULL) { in ad5421_probe()
484 st = iio_priv(indio_dev); in ad5421_probe()
485 spi_set_drvdata(spi, indio_dev); in ad5421_probe()
489 indio_dev->dev.parent = &spi->dev; in ad5421_probe()
490 indio_dev->name = "ad5421"; in ad5421_probe()
491 indio_dev->info = &ad5421_info; in ad5421_probe()
492 indio_dev->modes = INDIO_DIRECT_MODE; in ad5421_probe()
493 indio_dev->channels = ad5421_channels; in ad5421_probe()
494 indio_dev->num_channels = ARRAY_SIZE(ad5421_channels); in ad5421_probe()
508 ad5421_update_ctrl(indio_dev, 0, 0); in ad5421_probe()
516 indio_dev); in ad5421_probe()
521 return devm_iio_device_register(&spi->dev, indio_dev); in ad5421_probe()