#include <linux/module.h>
#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/of.h>
#include <linux/platform_data/isl9305.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/of_regulator.h>
#include <linux/slab.h>
#define ISL9305_DCD1OUT …
#define ISL9305_DCD2OUT …
#define ISL9305_LDO1OUT …
#define ISL9305_LDO2OUT …
#define ISL9305_DCD_PARAMETER …
#define ISL9305_SYSTEM_PARAMETER …
#define ISL9305_DCD_SRCTL …
#define ISL9305_MAX_REG …
#define ISL9305_DCD_PHASE …
#define ISL9305_DCD2_ULTRA …
#define ISL9305_DCD1_ULTRA …
#define ISL9305_DCD2_BLD …
#define ISL9305_DCD1_BLD …
#define ISL9305_DCD2_MODE …
#define ISL9305_DCD1_MODE …
#define ISL9305_I2C_EN …
#define ISL9305_DCDPOR_MASK …
#define ISL9305_LDO2_EN …
#define ISL9305_LDO1_EN …
#define ISL9305_DCD2_EN …
#define ISL9305_DCD1_EN …
#define ISL9305_DCD2SR_MASK …
#define ISL9305_DCD1SR_MASK …
static const struct regulator_ops isl9305_ops = …;
static const struct regulator_desc isl9305_regulators[] = …;
static const struct regmap_config isl9305_regmap = …;
static int isl9305_i2c_probe(struct i2c_client *i2c)
{ … }
#ifdef CONFIG_OF
static const struct of_device_id isl9305_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, isl9305_dt_ids);
#endif
static const struct i2c_device_id isl9305_i2c_id[] = …;
MODULE_DEVICE_TABLE(i2c, isl9305_i2c_id);
static struct i2c_driver isl9305_regulator_driver = …;
module_i2c_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;