#include <linux/i2c.h>
#include <linux/kernel.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/of_regulator.h>
#define RT4803_AUTO_MODE …
#define RT4803_FPWM_MODE …
#define RT4803_REG_CONFIG …
#define RT4803_REG_VSELL …
#define RT4803_REG_VSELH …
#define RT4803_REG_ILIM …
#define RT4803_REG_STAT …
#define RT4803_MODE_MASK …
#define RT4803_VSEL_MASK …
#define RT4803_ILIM_MASK …
#define RT4803_TSD_MASK …
#define RT4803_HOTDIE_MASK …
#define RT4803_FAULT_MASK …
#define RT4803_PGOOD_MASK …
#define RT4803_VOUT_MINUV …
#define RT4803_VOUT_STEPUV …
#define RT4803_VOUT_NUM …
static int rt4803_set_mode(struct regulator_dev *rdev, unsigned int mode)
{ … }
static unsigned int rt4803_get_mode(struct regulator_dev *rdev)
{ … }
static int rt4803_get_error_flags(struct regulator_dev *rdev, unsigned int *flags)
{ … }
static int rt4803_set_suspend_voltage(struct regulator_dev *rdev, int uV)
{ … }
static const struct regulator_ops rt4803_regulator_ops = …;
static unsigned int rt4803_of_map_mode(unsigned int mode)
{ … }
static const struct regmap_config rt4803_regmap_config = …;
static int rt4803_probe(struct i2c_client *i2c)
{ … }
static const struct of_device_id rt4803_device_match_table[] = …;
MODULE_DEVICE_TABLE(of, rt4803_device_match_table);
static struct i2c_driver rt4803_driver = …;
module_i2c_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;