#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/bitops.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/mfd/wm831x/core.h>
#include <linux/mfd/wm831x/regulator.h>
#include <linux/mfd/wm831x/pdata.h>
#define WM831X_ISINK_MAX_NAME 7
char name[WM831X_ISINK_MAX_NAME];
struct regulator_desc desc;
struct regulator_dev *regulator;
static int wm831x_isink_enable(struct regulator_dev *rdev)
struct wm831x_isink *isink = rdev_get_drvdata(rdev);
struct wm831x *wm831x = isink->wm831x;
ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA,
ret = wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_DRIVE,
wm831x_set_bits(wm831x, isink->reg, WM831X_CS1_ENA, 0);
static int wm831x_isink_disable(struct regulator_dev *rdev)
struct wm831x_isink *isink = rdev_get_drvdata(rdev);
struct wm831x *wm831x = isink->wm831x;