#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/mfd/tps65086.h>
enum tps65086_regulators { … };
enum tps65086_ids { … };
#define TPS65086_REGULATOR(_name, _of, _id, _nv, _vr, _vm, _er, _em, _lr, _dr, _dm) …
#define TPS65086_SWITCH(_name, _of, _id, _er, _em) …
#define TPS65086_REGULATOR_CONFIG(_chip_id, _config) …
struct tps65086_regulator { … };
struct tps65086_regulator_config { … };
static const struct linear_range tps65086_10mv_ranges[] = …;
static const struct linear_range tps65086_buck126_25mv_ranges[] = …;
static const struct linear_range tps65086_buck345_25mv_ranges[] = …;
static const struct linear_range tps65086_ldoa1_ranges[] = …;
static const struct linear_range tps65086_ldoa23_ranges[] = …;
static const struct regulator_ops reg_ops = …;
static const struct regulator_ops switch_ops = …;
static int tps65086_of_parse_cb(struct device_node *dev,
const struct regulator_desc *desc,
struct regulator_config *config);
static struct tps65086_regulator tps6508640_regulator_config[] = …;
static struct tps65086_regulator tps65086401_regulator_config[] = …;
static struct tps65086_regulator tps6508641_regulator_config[] = …;
static struct tps65086_regulator tps65086470_regulator_config[] = …;
static const struct tps65086_regulator_config regulator_configs[] = …;
static int tps65086_of_parse_cb(struct device_node *node,
const struct regulator_desc *desc,
struct regulator_config *config)
{ … }
static int tps65086_regulator_probe(struct platform_device *pdev)
{ … }
static const struct platform_device_id tps65086_regulator_id_table[] = …;
MODULE_DEVICE_TABLE(platform, tps65086_regulator_id_table);
static struct platform_driver tps65086_regulator_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;