#include <linux/bitops.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/regulator/driver.h>
enum { … };
#define RT4831_REG_DSVEN …
#define RT4831_REG_VLCM …
#define RT4831_REG_VPOS …
#define RT4831_REG_VNEG …
#define RT4831_REG_FLAGS …
#define RT4831_VOLT_MASK …
#define RT4831_DSVMODE_SHIFT …
#define RT4831_DSVMODE_MASK …
#define RT4831_POSADEN_MASK …
#define RT4831_NEGADEN_MASK …
#define RT4831_POSEN_MASK …
#define RT4831_NEGEN_MASK …
#define RT4831_OTP_MASK …
#define RT4831_LCMOVP_MASK …
#define RT4831_VPOSSCP_MASK …
#define RT4831_VNEGSCP_MASK …
#define DSV_MODE_NORMAL …
#define DSV_MODE_BYPASS …
#define STEP_UV …
#define VLCM_MIN_UV …
#define VLCM_MAX_UV …
#define VLCM_N_VOLTAGES …
#define VPN_MIN_UV …
#define VPN_MAX_UV …
#define VPN_N_VOLTAGES …
static int rt4831_get_error_flags(struct regulator_dev *rdev, unsigned int *flags)
{ … }
static const struct regulator_ops rt4831_dsvlcm_ops = …;
static const struct regulator_ops rt4831_dsvpn_ops = …;
static const struct regulator_desc rt4831_regulator_descs[] = …;
static int rt4831_regulator_probe(struct platform_device *pdev)
{ … }
static const struct platform_device_id rt4831_regulator_match[] = …;
MODULE_DEVICE_TABLE(platform, rt4831_regulator_match);
static struct platform_driver rt4831_regulator_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;