uintptr_t private, const struct iio_chan_spec *chan, const char *buf,
#include <linux/interrupt.h>
#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/spi/spi.h>
#include <linux/regulator/consumer.h>
#include <linux/module.h>
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
static int ad5624r_spi_write(struct spi_device *spi,
u8 cmd, u8 addr, u16 val, u8 shift)
data = (0 << 22) | (cmd << 19) | (addr << 16) | (val << shift);
return spi_write(spi, msg, 3);
static int ad5624r_read_raw(struct iio_dev *indio_dev,
struct iio_chan_spec const *chan,
struct ad5624r_state *st = iio_priv(indio_dev);
case IIO_CHAN_INFO_SCALE:
*val2 = chan->scan_type.realbits;
return IIO_VAL_FRACTIONAL_LOG2;
static int ad5624r_write_raw(struct iio_dev *indio_dev,