#include <linux/err.h>
#include <linux/gpio/consumer.h>
#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/slab.h>
#define MAX20086_REG_MASK …
#define MAX20086_REG_CONFIG …
#define MAX20086_REG_ID …
#define MAX20086_REG_STAT1 …
#define MAX20086_REG_STAT2_L …
#define MAX20086_REG_STAT2_H …
#define MAX20086_REG_ADC1 …
#define MAX20086_REG_ADC2 …
#define MAX20086_REG_ADC3 …
#define MAX20086_REG_ADC4 …
#define MAX20086_DEVICE_ID_MAX20086 …
#define MAX20086_DEVICE_ID_MAX20087 …
#define MAX20086_DEVICE_ID_MAX20088 …
#define MAX20086_DEVICE_ID_MAX20089 …
#define DEVICE_ID_MASK …
#define MAX20086_EN_MASK …
#define MAX20086_EN_OUT1 …
#define MAX20086_EN_OUT2 …
#define MAX20086_EN_OUT3 …
#define MAX20086_EN_OUT4 …
#define MAX20086_INT_DISABLE_ALL …
#define MAX20086_MAX_REGULATORS …
struct max20086_chip_info { … };
struct max20086_regulator { … };
struct max20086 { … };
static const struct regulator_ops max20086_buck_ops = …;
#define MAX20086_REGULATOR_DESC(n) …
static const char * const max20086_output_names[] = …;
static const struct regulator_desc max20086_regulators[] = …;
static int max20086_regulators_register(struct max20086 *chip)
{ … }
static int max20086_parse_regulators_dt(struct max20086 *chip, bool *boot_on)
{ … }
static int max20086_detect(struct max20086 *chip)
{ … }
static bool max20086_gen_is_writeable_reg(struct device *dev, unsigned int reg)
{ … }
static const struct regmap_config max20086_regmap_config = …;
static int max20086_i2c_probe(struct i2c_client *i2c)
{ … }
static const struct max20086_chip_info max20086_chip_info = …;
static const struct max20086_chip_info max20087_chip_info = …;
static const struct max20086_chip_info max20088_chip_info = …;
static const struct max20086_chip_info max20089_chip_info = …;
static const struct i2c_device_id max20086_i2c_id[] = …;
MODULE_DEVICE_TABLE(i2c, max20086_i2c_id);
static const struct of_device_id max20086_dt_ids[] __maybe_unused = …;
MODULE_DEVICE_TABLE(of, max20086_dt_ids);
static struct i2c_driver max20086_regulator_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;