#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/of_regulator.h>
#define SY8106A_REG_VOUT1_SEL …
#define SY8106A_REG_VOUT_COM …
#define SY8106A_REG_VOUT1_SEL_MASK …
#define SY8106A_DISABLE_REG …
#define SY8106A_GO_BIT …
static const struct regmap_config sy8106a_regmap_config = …;
static const struct regulator_ops sy8106a_ops = …;
#define SY8106A_MIN_MV …
#define SY8106A_MAX_MV …
#define SY8106A_STEP_MV …
static const struct regulator_desc sy8106a_reg = …;
static int sy8106a_i2c_probe(struct i2c_client *i2c)
{ … }
static const struct of_device_id sy8106a_i2c_of_match[] = …;
MODULE_DEVICE_TABLE(of, sy8106a_i2c_of_match);
static const struct i2c_device_id sy8106a_i2c_id[] = …;
MODULE_DEVICE_TABLE(i2c, sy8106a_i2c_id);
static struct i2c_driver sy8106a_regulator_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;