#include <linux/module.h>
#include <linux/i2c.h>
#include <linux/of.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/of_regulator.h>
#define SY8824C_BUCK_EN …
#define SY8824C_MODE …
struct sy8824_config { … };
struct sy8824_device_info { … };
static int sy8824_set_mode(struct regulator_dev *rdev, unsigned int mode)
{ … }
static unsigned int sy8824_get_mode(struct regulator_dev *rdev)
{ … }
static const struct regulator_ops sy8824_regulator_ops = …;
static int sy8824_regulator_register(struct sy8824_device_info *di,
struct regulator_config *config)
{ … }
static const struct regmap_config sy8824_regmap_config = …;
static const struct regmap_config sy20276_regmap_config = …;
static int sy8824_i2c_probe(struct i2c_client *client)
{ … }
static const struct sy8824_config sy8824c_cfg = …;
static const struct sy8824_config sy8824e_cfg = …;
static const struct sy8824_config sy20276_cfg = …;
static const struct sy8824_config sy20278_cfg = …;
static const struct of_device_id sy8824_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, sy8824_dt_ids);
static const struct i2c_device_id sy8824_id[] = …;
MODULE_DEVICE_TABLE(i2c, sy8824_id);
static struct i2c_driver sy8824_regulator_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;