Lines Matching refs:indio_dev

193 static int ad5360_write_unlocked(struct iio_dev *indio_dev,
197 struct ad5360_state *st = iio_priv(indio_dev);
206 static int ad5360_write(struct iio_dev *indio_dev, unsigned int cmd,
210 struct ad5360_state *st = iio_priv(indio_dev);
213 ret = ad5360_write_unlocked(indio_dev, cmd, addr, val, shift);
219 static int ad5360_read(struct iio_dev *indio_dev, unsigned int type,
222 struct ad5360_state *st = iio_priv(indio_dev);
255 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
256 struct ad5360_state *st = iio_priv(indio_dev);
261 static int ad5360_update_ctrl(struct iio_dev *indio_dev, unsigned int set,
264 struct ad5360_state *st = iio_priv(indio_dev);
272 ret = ad5360_write_unlocked(indio_dev, AD5360_CMD_SPECIAL_FUNCTION,
283 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
292 ret = ad5360_update_ctrl(indio_dev, AD5360_SF_CTRL_PWR_DOWN, 0);
294 ret = ad5360_update_ctrl(indio_dev, 0, AD5360_SF_CTRL_PWR_DOWN);
313 static int ad5360_write_raw(struct iio_dev *indio_dev,
319 struct ad5360_state *st = iio_priv(indio_dev);
328 return ad5360_write(indio_dev, AD5360_CMD_WRITE_DATA,
335 return ad5360_write(indio_dev, AD5360_CMD_WRITE_OFFSET,
342 return ad5360_write(indio_dev, AD5360_CMD_WRITE_GAIN,
360 return ad5360_write(indio_dev, AD5360_CMD_SPECIAL_FUNCTION,
369 static int ad5360_read_raw(struct iio_dev *indio_dev,
375 struct ad5360_state *st = iio_priv(indio_dev);
382 ret = ad5360_read(indio_dev, AD5360_READBACK_X1A,
398 ret = ad5360_read(indio_dev, AD5360_READBACK_OFFSET,
405 ret = ad5360_read(indio_dev, AD5360_READBACK_GAIN,
413 ret = ad5360_read(indio_dev, AD5360_READBACK_SF,
436 static int ad5360_alloc_channels(struct iio_dev *indio_dev)
438 struct ad5360_state *st = iio_priv(indio_dev);
454 indio_dev->channels = channels;
462 struct iio_dev *indio_dev;
467 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
468 if (indio_dev == NULL) {
473 st = iio_priv(indio_dev);
474 spi_set_drvdata(spi, indio_dev);
479 indio_dev->name = spi_get_device_id(spi)->name;
480 indio_dev->info = &ad5360_info;
481 indio_dev->modes = INDIO_DIRECT_MODE;
482 indio_dev->num_channels = st->chip_info->num_channels;
486 ret = ad5360_alloc_channels(indio_dev);
508 ret = iio_device_register(indio_dev);
519 kfree(indio_dev->channels);
526 struct iio_dev *indio_dev = spi_get_drvdata(spi);
527 struct ad5360_state *st = iio_priv(indio_dev);
529 iio_device_unregister(indio_dev);
531 kfree(indio_dev->channels);