#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_ISINK_MAX_NAME …
struct wm831x_isink { … };
static int wm831x_isink_enable(struct regulator_dev *rdev)
{ … }
static int wm831x_isink_disable(struct regulator_dev *rdev)
{ … }
static int wm831x_isink_is_enabled(struct regulator_dev *rdev)
{ … }
static const struct regulator_ops wm831x_isink_ops = …;
static irqreturn_t wm831x_isink_irq(int irq, void *data)
{ … }
static int wm831x_isink_probe(struct platform_device *pdev)
{ … }
static struct platform_driver wm831x_isink_driver = …;
static int __init wm831x_isink_init(void)
{ … }
subsys_initcall(wm831x_isink_init);
static void __exit wm831x_isink_exit(void)
{ … }
module_exit(wm831x_isink_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;