#include <linux/bitfield.h>
#include <linux/i2c.h>
#include <linux/interrupt.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 MAX77857_REG_INT_SRC …
#define MAX77857_REG_INT_MASK …
#define MAX77857_REG_CONT1 …
#define MAX77857_REG_CONT2 …
#define MAX77857_REG_CONT3 …
#define MAX77857_INT_SRC_OCP …
#define MAX77857_INT_SRC_THS …
#define MAX77857_INT_SRC_HARDSHORT …
#define MAX77857_INT_SRC_OVP …
#define MAX77857_INT_SRC_POK …
#define MAX77857_ILIM_MASK …
#define MAX77857_CONT1_FREQ …
#define MAX77857_CONT3_FPWM …
#define MAX77859_REG_INT_SRC …
#define MAX77859_REG_CONT1 …
#define MAX77859_REG_CONT2 …
#define MAX77859_REG_CONT3 …
#define MAX77859_REG_CONT5 …
#define MAX77859_CONT2_FPWM …
#define MAX77859_CONT2_INTB …
#define MAX77859_CONT3_DVS_START …
#define MAX77859_VOLTAGE_SEL_MASK …
#define MAX77859_CURRENT_MIN …
#define MAX77859_CURRENT_MAX …
#define MAX77859_CURRENT_STEP …
enum max77857_id { … };
static bool max77857_volatile_reg(struct device *dev, unsigned int reg)
{ … }
static const struct regmap_config max77857_regmap_config = …;
static int max77857_get_status(struct regulator_dev *rdev)
{ … }
static unsigned int max77857_get_mode(struct regulator_dev *rdev)
{ … }
static int max77857_set_mode(struct regulator_dev *rdev, unsigned int mode)
{ … }
static int max77857_get_error_flags(struct regulator_dev *rdev,
unsigned int *flags)
{ … }
static struct linear_range max77859_lin_ranges[] = …;
static const unsigned int max77859_ramp_table[4] = …;
static int max77859_set_voltage_sel(struct regulator_dev *rdev,
unsigned int sel)
{ … }
static int max77859_get_voltage_sel(struct regulator_dev *rdev)
{ … }
static int max77859_set_current_limit(struct regulator_dev *rdev, int min_uA, int max_uA)
{ … }
static int max77859_get_current_limit(struct regulator_dev *rdev)
{ … }
static const struct regulator_ops max77859_regulator_ops = …;
static const struct regulator_ops max77859a_regulator_ops = …;
static const struct regulator_ops max77857_regulator_ops = …;
static struct linear_range max77857_lin_ranges[] = …;
static const unsigned int max77857_switch_freq[] = …;
#define RAMAP_DELAY_INIT_VAL …
static const unsigned int max77857_ramp_table[2][4] = …;
static struct regulator_desc max77857_regulator_desc = …;
static void max77857_calc_range(struct device *dev, enum max77857_id id)
{ … }
static int max77857_probe(struct i2c_client *client)
{ … }
const struct i2c_device_id max77857_id[] = …;
MODULE_DEVICE_TABLE(i2c, max77857_id);
static const struct of_device_id max77857_of_id[] = …;
MODULE_DEVICE_TABLE(of, max77857_of_id);
static struct i2c_driver max77857_driver = …;
module_i2c_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;