#ifndef __DRIVERS_IIO_DAC_AD5686_H__
#define __DRIVERS_IIO_DAC_AD5686_H__
#include <linux/types.h>
#include <linux/cache.h>
#include <linux/mutex.h>
#include <linux/kernel.h>
#include <linux/iio/iio.h>
#define AD5310_CMD(x) …
#define AD5683_DATA(x) …
#define AD5686_ADDR(x) …
#define AD5686_CMD(x) …
#define AD5686_ADDR_DAC(chan) …
#define AD5686_ADDR_ALL_DAC …
#define AD5686_CMD_NOOP …
#define AD5686_CMD_WRITE_INPUT_N …
#define AD5686_CMD_UPDATE_DAC_N …
#define AD5686_CMD_WRITE_INPUT_N_UPDATE_N …
#define AD5686_CMD_POWERDOWN_DAC …
#define AD5686_CMD_LDAC_MASK …
#define AD5686_CMD_RESET …
#define AD5686_CMD_INTERNAL_REFER_SETUP …
#define AD5686_CMD_DAISY_CHAIN_ENABLE …
#define AD5686_CMD_READBACK_ENABLE …
#define AD5686_LDAC_PWRDN_NONE …
#define AD5686_LDAC_PWRDN_1K …
#define AD5686_LDAC_PWRDN_100K …
#define AD5686_LDAC_PWRDN_3STATE …
#define AD5686_CMD_CONTROL_REG …
#define AD5686_CMD_READBACK_ENABLE_V2 …
#define AD5310_REF_BIT_MSK …
#define AD5683_REF_BIT_MSK …
#define AD5693_REF_BIT_MSK …
enum ad5686_supported_device_ids { … };
enum ad5686_regmap_type { … };
struct ad5686_state;
ad5686_write_func;
ad5686_read_func;
struct ad5686_chip_info { … };
struct ad5686_state { … };
int ad5686_probe(struct device *dev,
enum ad5686_supported_device_ids chip_type,
const char *name, ad5686_write_func write,
ad5686_read_func read);
void ad5686_remove(struct device *dev);
#endif