#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/init.h>
#include <linux/err.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/regulator/of_regulator.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/mfd/tps65219.h>
struct tps65219_regulator_irq_type { … };
static struct tps65219_regulator_irq_type tps65219_regulator_irq_types[] = …;
struct tps65219_regulator_irq_data { … };
#define TPS65219_REGULATOR(_name, _of, _id, _type, _ops, _n, _vr, _vm, _er, \
_em, _cr, _cm, _lr, _nlr, _delay, _fuv, \
_ct, _ncl, _bpm) … \
static const struct linear_range bucks_ranges[] = …;
static const struct linear_range ldos_1_2_ranges[] = …;
static const struct linear_range ldos_3_4_ranges[] = …;
static int tps65219_set_mode(struct regulator_dev *dev, unsigned int mode)
{ … }
static unsigned int tps65219_get_mode(struct regulator_dev *dev)
{ … }
static const struct regulator_ops tps65219_bucks_ops = …;
static const struct regulator_ops tps65219_ldos_1_2_ops = …;
static const struct regulator_ops tps65219_ldos_3_4_ops = …;
static const struct regulator_desc regulators[] = …;
static irqreturn_t tps65219_regulator_irq_handler(int irq, void *data)
{ … }
static int tps65219_get_rdev_by_name(const char *regulator_name,
struct regulator_dev *rdevtbl[7],
struct regulator_dev **dev)
{ … }
static int tps65219_regulator_probe(struct platform_device *pdev)
{ … }
static const struct platform_device_id tps65219_regulator_id_table[] = …;
MODULE_DEVICE_TABLE(platform, tps65219_regulator_id_table);
static struct platform_driver tps65219_regulator_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS(…) …;
MODULE_LICENSE(…) …;