regulator: max8952: Separate constraints from platform data struct
This patch modifies platform data structure of max8952 driver to use pointer to regulator_init_data struct instead of embedding it. This is a prerequisite for adding Device Tree support for the driver. Signed-off-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
07961ac7c0
commit
3ec6eb9cc2
|
@ -97,6 +97,19 @@ static struct s3c2410_uartcfg universal_uartcfgs[] __initdata = {
|
|||
static struct regulator_consumer_supply max8952_consumer =
|
||||
REGULATOR_SUPPLY("vdd_arm", NULL);
|
||||
|
||||
static struct regulator_init_data universal_max8952_reg_data = {
|
||||
.constraints = {
|
||||
.name = "VARM_1.2V",
|
||||
.min_uV = 770000,
|
||||
.max_uV = 1400000,
|
||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
|
||||
.always_on = 1,
|
||||
.boot_on = 1,
|
||||
},
|
||||
.num_consumer_supplies = 1,
|
||||
.consumer_supplies = &max8952_consumer,
|
||||
};
|
||||
|
||||
static struct max8952_platform_data universal_max8952_pdata __initdata = {
|
||||
.gpio_vid0 = EXYNOS4_GPX0(3),
|
||||
.gpio_vid1 = EXYNOS4_GPX0(4),
|
||||
|
@ -105,19 +118,7 @@ static struct max8952_platform_data universal_max8952_pdata __initdata = {
|
|||
.dvs_mode = { 48, 32, 28, 18 }, /* 1.25, 1.20, 1.05, 0.95V */
|
||||
.sync_freq = 0, /* default: fastest */
|
||||
.ramp_speed = 0, /* default: fastest */
|
||||
|
||||
.reg_data = {
|
||||
.constraints = {
|
||||
.name = "VARM_1.2V",
|
||||
.min_uV = 770000,
|
||||
.max_uV = 1400000,
|
||||
.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
|
||||
.always_on = 1,
|
||||
.boot_on = 1,
|
||||
},
|
||||
.num_consumer_supplies = 1,
|
||||
.consumer_supplies = &max8952_consumer,
|
||||
},
|
||||
.reg_data = &universal_max8952_reg_data,
|
||||
};
|
||||
|
||||
static struct regulator_consumer_supply lp3974_buck1_consumer =
|
||||
|
|
|
@ -154,11 +154,11 @@ static int max8952_pmic_probe(struct i2c_client *client,
|
|||
max8952->pdata = pdata;
|
||||
|
||||
config.dev = max8952->dev;
|
||||
config.init_data = &pdata->reg_data;
|
||||
config.init_data = pdata->reg_data;
|
||||
config.driver_data = max8952;
|
||||
|
||||
config.ena_gpio = pdata->gpio_en;
|
||||
if (pdata->reg_data.constraints.boot_on)
|
||||
if (pdata->reg_data->constraints.boot_on)
|
||||
config.ena_gpio_flags |= GPIOF_OUT_INIT_HIGH;
|
||||
|
||||
max8952->rdev = regulator_register(®ulator, &config);
|
||||
|
|
|
@ -128,7 +128,7 @@ struct max8952_platform_data {
|
|||
u8 sync_freq;
|
||||
u8 ramp_speed;
|
||||
|
||||
struct regulator_init_data reg_data;
|
||||
struct regulator_init_data *reg_data;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue