#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/err.h>
#include <linux/delay.h>
#include <linux/mfd/core.h>
#include <linux/of.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/regulator/machine.h>
#include <linux/mfd/wm8994/core.h>
#include <linux/mfd/wm8994/pdata.h>
#include <linux/mfd/wm8994/registers.h>
#include "wm8994.h"
static const struct mfd_cell wm8994_regulator_devs[] = …;
static const struct resource wm8994_codec_resources[] = …;
static const struct resource wm8994_gpio_resources[] = …;
static const struct mfd_cell wm8994_devs[] = …;
static const char *wm1811_main_supplies[] = …;
static const char *wm8994_main_supplies[] = …;
static const char *wm8958_main_supplies[] = …;
static int wm8994_suspend(struct device *dev)
{ … }
static int wm8994_resume(struct device *dev)
{ … }
#ifdef CONFIG_REGULATOR
static int wm8994_ldo_in_use(struct wm8994_pdata *pdata, int ldo)
{ … }
#else
static int wm8994_ldo_in_use(struct wm8994_pdata *pdata, int ldo)
{
return 0;
}
#endif
static const struct reg_sequence wm8994_revc_patch[] = …;
static const struct reg_sequence wm8958_reva_patch[] = …;
static const struct reg_sequence wm1811_reva_patch[] = …;
#ifdef CONFIG_OF
static int wm8994_set_pdata_from_of(struct wm8994 *wm8994)
{ … }
#else
static int wm8994_set_pdata_from_of(struct wm8994 *wm8994)
{
return 0;
}
#endif
static int wm8994_device_init(struct wm8994 *wm8994, int irq)
{ … }
static void wm8994_device_exit(struct wm8994 *wm8994)
{ … }
static const struct of_device_id wm8994_of_match[] = …;
MODULE_DEVICE_TABLE(of, wm8994_of_match);
static int wm8994_i2c_probe(struct i2c_client *i2c)
{ … }
static void wm8994_i2c_remove(struct i2c_client *i2c)
{ … }
static const struct i2c_device_id wm8994_i2c_id[] = …;
MODULE_DEVICE_TABLE(i2c, wm8994_i2c_id);
static const struct dev_pm_ops wm8994_pm_ops = …;
static struct i2c_driver wm8994_i2c_driver = …;
module_i2c_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_SOFTDEP(…) …;