#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/i2c.h>
#include <linux/delay.h>
#include <linux/mfd/core.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/of.h>
#include <linux/regmap.h>
#include <linux/mfd/wm831x/core.h>
#include <linux/mfd/wm831x/pdata.h>
static int wm831x_i2c_probe(struct i2c_client *i2c)
{ … }
static int wm831x_i2c_suspend(struct device *dev)
{ … }
static int wm831x_i2c_poweroff(struct device *dev)
{ … }
static const struct i2c_device_id wm831x_i2c_id[] = …;
static const struct dev_pm_ops wm831x_pm_ops = …;
static struct i2c_driver wm831x_i2c_driver = …;
static int __init wm831x_i2c_init(void)
{ … }
subsys_initcall(wm831x_i2c_init);