#include <linux/module.h>
#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/err.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <linux/regmap.h>
#include <linux/uaccess.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/platform_data/lp8755.h>
#define LP8755_REG_BUCK0 …
#define LP8755_REG_BUCK1 …
#define LP8755_REG_BUCK2 …
#define LP8755_REG_BUCK3 …
#define LP8755_REG_BUCK4 …
#define LP8755_REG_BUCK5 …
#define LP8755_REG_MAX …
#define LP8755_BUCK_EN_M …
#define LP8755_BUCK_LINEAR_OUT_MAX …
#define LP8755_BUCK_VOUT_M …
struct lp8755_mphase { … };
struct lp8755_chip { … };
static int lp8755_buck_enable_time(struct regulator_dev *rdev)
{ … }
static int lp8755_buck_set_mode(struct regulator_dev *rdev, unsigned int mode)
{ … }
static unsigned int lp8755_buck_get_mode(struct regulator_dev *rdev)
{ … }
static const unsigned int lp8755_buck_ramp_table[] = …;
static const struct regulator_ops lp8755_buck_ops = …;
#define lp8755_rail(_id) …
#define lp8755_buck_init(_id) …
static struct regulator_init_data lp8755_reg_default[LP8755_BUCK_MAX] = …;
static const struct lp8755_mphase mphase_buck[MPHASE_CONF_MAX] = …;
static int lp8755_init_data(struct lp8755_chip *pchip)
{ … }
#define lp8755_buck_desc(_id) …
static const struct regulator_desc lp8755_regulators[] = …;
static int lp8755_regulator_init(struct lp8755_chip *pchip)
{ … }
static irqreturn_t lp8755_irq_handler(int irq, void *data)
{ … }
static int lp8755_int_config(struct lp8755_chip *pchip)
{ … }
static const struct regmap_config lp8755_regmap = …;
static int lp8755_probe(struct i2c_client *client)
{ … }
static void lp8755_remove(struct i2c_client *client)
{ … }
static const struct i2c_device_id lp8755_id[] = …;
MODULE_DEVICE_TABLE(i2c, lp8755_id);
static struct i2c_driver lp8755_i2c_driver = …;
static int __init lp8755_init(void)
{ … }
subsys_initcall(lp8755_init);
static void __exit lp8755_exit(void)
{ … }
module_exit(lp8755_exit);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;