#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
#include <linux/bitops.h>
#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/slab.h>
#include <linux/mfd/wm831x/core.h>
#include <linux/mfd/wm831x/regulator.h>
#include <linux/mfd/wm831x/pdata.h>
#define WM831X_LDO_MAX_NAME …
#define WM831X_LDO_CONTROL …
#define WM831X_LDO_ON_CONTROL …
#define WM831X_LDO_SLEEP_CONTROL …
#define WM831X_ALIVE_LDO_ON_CONTROL …
#define WM831X_ALIVE_LDO_SLEEP_CONTROL …
struct wm831x_ldo { … };
static irqreturn_t wm831x_ldo_uv_irq(int irq, void *data)
{ … }
static const struct linear_range wm831x_gp_ldo_ranges[] = …;
static int wm831x_gp_ldo_set_suspend_voltage(struct regulator_dev *rdev,
int uV)
{ … }
static unsigned int wm831x_gp_ldo_get_mode(struct regulator_dev *rdev)
{ … }
static int wm831x_gp_ldo_set_mode(struct regulator_dev *rdev,
unsigned int mode)
{ … }
static int wm831x_gp_ldo_get_status(struct regulator_dev *rdev)
{ … }
static unsigned int wm831x_gp_ldo_get_optimum_mode(struct regulator_dev *rdev,
int input_uV,
int output_uV, int load_uA)
{ … }
static const struct regulator_ops wm831x_gp_ldo_ops = …;
static int wm831x_gp_ldo_probe(struct platform_device *pdev)
{ … }
static struct platform_driver wm831x_gp_ldo_driver = …;
static const struct linear_range wm831x_aldo_ranges[] = …;
static int wm831x_aldo_set_suspend_voltage(struct regulator_dev *rdev,
int uV)
{ … }
static unsigned int wm831x_aldo_get_mode(struct regulator_dev *rdev)
{ … }
static int wm831x_aldo_set_mode(struct regulator_dev *rdev,
unsigned int mode)
{ … }
static int wm831x_aldo_get_status(struct regulator_dev *rdev)
{ … }
static const struct regulator_ops wm831x_aldo_ops = …;
static int wm831x_aldo_probe(struct platform_device *pdev)
{ … }
static struct platform_driver wm831x_aldo_driver = …;
#define WM831X_ALIVE_LDO_MAX_SELECTOR …
static int wm831x_alive_ldo_set_suspend_voltage(struct regulator_dev *rdev,
int uV)
{ … }
static int wm831x_alive_ldo_get_status(struct regulator_dev *rdev)
{ … }
static const struct regulator_ops wm831x_alive_ldo_ops = …;
static int wm831x_alive_ldo_probe(struct platform_device *pdev)
{ … }
static struct platform_driver wm831x_alive_ldo_driver = …;
static struct platform_driver * const drivers[] = …;
static int __init wm831x_ldo_init(void)
{ … }
subsys_initcall(wm831x_ldo_init);
static void __exit wm831x_ldo_exit(void)
{ … }
module_exit(wm831x_ldo_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;
MODULE_ALIAS(…) …;
MODULE_ALIAS(…) …;