#include <linux/device.h>
#include <linux/err.h>
#include <linux/gpio/consumer.h>
#include <linux/iio/iio.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#define ADMFM2000_MIXER_MODE …
#define ADMFM2000_DIRECT_IF_MODE …
#define ADMFM2000_DSA_GPIOS …
#define ADMFM2000_MODE_GPIOS …
#define ADMFM2000_MAX_GAIN …
#define ADMFM2000_MIN_GAIN …
#define ADMFM2000_DEFAULT_GAIN …
struct admfm2000_state { … };
static int admfm2000_mode(struct iio_dev *indio_dev, u32 chan, u32 mode)
{ … }
static int admfm2000_attenuation(struct iio_dev *indio_dev, u32 chan, u32 value)
{ … }
static int admfm2000_read_raw(struct iio_dev *indio_dev,
struct iio_chan_spec const *chan, int *val,
int *val2, long mask)
{ … }
static int admfm2000_write_raw(struct iio_dev *indio_dev,
struct iio_chan_spec const *chan, int val,
int val2, long mask)
{ … }
static int admfm2000_write_raw_get_fmt(struct iio_dev *indio_dev,
struct iio_chan_spec const *chan,
long mask)
{ … }
static const struct iio_info admfm2000_info = …;
#define ADMFM2000_CHAN(_channel) …
static const struct iio_chan_spec admfm2000_channels[] = …;
static int admfm2000_channel_config(struct admfm2000_state *st,
struct iio_dev *indio_dev)
{ … }
static int admfm2000_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id admfm2000_of_match[] = …;
MODULE_DEVICE_TABLE(of, admfm2000_of_match);
static struct platform_driver admfm2000_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;