#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/of_regulator.h>
#define RT6245_VIRT_OCLIMIT …
#define RT6245_VIRT_OTLEVEL …
#define RT6245_VIRT_PGDLYTIME …
#define RT6245_VIRT_SLEWRATE …
#define RT6245_VIRT_SWFREQ …
#define RT6245_VIRT_VOUT …
#define RT6245_VOUT_MASK …
#define RT6245_SLEW_MASK …
#define RT6245_CHKSUM_MASK …
#define RT6245_CODE_MASK …
#define RT6245_ENTIME_IN_US …
#define RT6245_VOUT_MINUV …
#define RT6245_VOUT_MAXUV …
#define RT6245_VOUT_STEPUV …
#define RT6245_NUM_VOUT …
struct rt6245_priv { … };
static int rt6245_enable(struct regulator_dev *rdev)
{ … }
static int rt6245_disable(struct regulator_dev *rdev)
{ … }
static int rt6245_is_enabled(struct regulator_dev *rdev)
{ … }
static const struct regulator_ops rt6245_regulator_ops = …;
static const unsigned int rt6245_ramp_delay_table[] = …;
static const struct regulator_desc rt6245_regulator_desc = …;
static int rt6245_init_device_properties(struct device *dev)
{ … }
static int rt6245_reg_write(void *context, unsigned int reg, unsigned int val)
{ … }
static const struct reg_default rt6245_reg_defaults[] = …;
static const struct regmap_config rt6245_regmap_config = …;
static int rt6245_probe(struct i2c_client *i2c)
{ … }
static const struct of_device_id __maybe_unused rt6245_of_match_table[] = …;
MODULE_DEVICE_TABLE(of, rt6245_of_match_table);
static struct i2c_driver rt6245_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;