#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
#include <linux/regulator/driver.h>
#include <linux/mfd/tps65912.h>
enum tps65912_regulators { … };
#define TPS65912_REGULATOR(_name, _id, _of_match, _ops, _vr, _er, _lr) …
static const struct linear_range tps65912_dcdc_ranges[] = …;
static const struct linear_range tps65912_ldo_ranges[] = …;
static const struct regulator_ops tps65912_ops_dcdc = …;
static const struct regulator_ops tps65912_ops_ldo = …;
static const struct regulator_desc regulators[] = …;
static int tps65912_regulator_probe(struct platform_device *pdev)
{ … }
static const struct platform_device_id tps65912_regulator_id_table[] = …;
MODULE_DEVICE_TABLE(platform, tps65912_regulator_id_table);
static struct platform_driver tps65912_regulator_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;