#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/regulator/of_regulator.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/driver.h>
#include <linux/bitfield.h>
#include <linux/linear_range.h>
#define TPS6287X_VSET …
#define TPS6287X_CTRL1 …
#define TPS6287X_CTRL1_VRAMP …
#define TPS6287X_CTRL1_FPWMEN …
#define TPS6287X_CTRL1_SWEN …
#define TPS6287X_CTRL2 …
#define TPS6287X_CTRL2_VRANGE …
#define TPS6287X_CTRL3 …
#define TPS6287X_STATUS …
static const struct regmap_config tps6287x_regmap_config = …;
static const struct linear_range tps6287x_voltage_ranges[] = …;
static const unsigned int tps6287x_voltage_range_sel[] = …;
static const unsigned int tps6287x_ramp_table[] = …;
static int tps6287x_set_mode(struct regulator_dev *rdev, unsigned int mode)
{ … }
static unsigned int tps6287x_get_mode(struct regulator_dev *rdev)
{ … }
static unsigned int tps6287x_of_map_mode(unsigned int mode)
{ … }
static const struct regulator_ops tps6287x_regulator_ops = …;
static struct regulator_desc tps6287x_reg = …;
static int tps6287x_i2c_probe(struct i2c_client *i2c)
{ … }
static const struct of_device_id tps6287x_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, tps6287x_dt_ids);
static const struct i2c_device_id tps6287x_i2c_id[] = …;
MODULE_DEVICE_TABLE(i2c, tps6287x_i2c_id);
static struct i2c_driver tps6287x_regulator_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;