#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mcb.h>
#include <linux/io.h>
#include <linux/iio/iio.h>
#define Z188_ADC_MAX_CHAN …
#define Z188_ADC_GAIN …
#define Z188_MODE_VOLTAGE …
#define Z188_CFG_AUTO …
#define Z188_CTRL_REG …
#define ADC_DATA(x) …
#define ADC_OVR(x) …
struct z188_adc { … };
#define Z188_ADC_CHANNEL(idx) …
static const struct iio_chan_spec z188_adc_iio_channels[] = …;
static int z188_iio_read_raw(struct iio_dev *iio_dev,
struct iio_chan_spec const *chan,
int *val,
int *val2,
long info)
{ … }
static const struct iio_info z188_adc_info = …;
static void men_z188_config_channels(void __iomem *addr)
{ … }
static int men_z188_probe(struct mcb_device *dev,
const struct mcb_device_id *id)
{ … }
static void men_z188_remove(struct mcb_device *dev)
{ … }
static const struct mcb_device_id men_z188_ids[] = …;
MODULE_DEVICE_TABLE(mcb, men_z188_ids);
static struct mcb_driver men_z188_driver = …;
module_mcb_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS(…) …;
MODULE_IMPORT_NS(…);