#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/of_regulator.h>
#include <linux/util_macros.h>
#define MAX77503_REG_CFG …
#define MAX77503_REG_VOUT …
#define MAX77503_BIT_EN …
#define MAX77503_BIT_CURR_LIM …
#define MAX77503_BIT_ADEN …
#define MAX77503_BITS_SOFT_START …
#define MAX77503_BITS_MX_VOUT …
#define MAX77503_AD_ENABLED …
#define MAX77503_AD_DISABLED …
static const struct regmap_config max77503_regmap_config = …;
static const struct regulator_ops max77503_buck_ops = …;
static const struct linear_range max77503_buck_ranges[] = …;
static const unsigned int max77503_current_limit_table[] = …;
static const struct regulator_desc max77503_regulators_desc = …;
static int max77503_regulator_probe(struct i2c_client *client)
{ … }
static const struct of_device_id of_max77503_match_tbl[] = …;
MODULE_DEVICE_TABLE(of, of_max77503_match_tbl);
static const struct i2c_device_id max77503_regulator_id[] = …;
MODULE_DEVICE_TABLE(i2c, max77503_regulator_id);
static struct i2c_driver max77503_regulator_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;