#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/delay.h>
#include <linux/mfd/core.h>
#include <linux/slab.h>
#include <linux/list.h>
#include <linux/mfd/wm831x/core.h>
#include <linux/mfd/wm831x/pdata.h>
#include <linux/mfd/wm831x/irq.h>
#include <linux/mfd/wm831x/auxadc.h>
#include <linux/mfd/wm831x/otp.h>
#include <linux/mfd/wm831x/regulator.h>
struct wm831x_auxadc_req { … };
static int wm831x_auxadc_read_irq(struct wm831x *wm831x,
enum wm831x_auxadc input)
{ … }
static irqreturn_t wm831x_auxadc_irq(int irq, void *irq_data)
{ … }
static int wm831x_auxadc_read_polled(struct wm831x *wm831x,
enum wm831x_auxadc input)
{ … }
int wm831x_auxadc_read(struct wm831x *wm831x, enum wm831x_auxadc input)
{ … }
EXPORT_SYMBOL_GPL(…);
int wm831x_auxadc_read_uv(struct wm831x *wm831x, enum wm831x_auxadc input)
{ … }
EXPORT_SYMBOL_GPL(…);
void wm831x_auxadc_init(struct wm831x *wm831x)
{ … }