Skip to content

Commit

Permalink
regulator: max8952: Separate constraints from platform data struct
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Tomasz Figa authored and Mark Brown committed Apr 5, 2013
1 parent 07961ac commit 3ec6eb9
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 16 deletions.
27 changes: 14 additions & 13 deletions arch/arm/mach-exynos/mach-universal_c210.c
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand All @@ -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 =
Expand Down
4 changes: 2 additions & 2 deletions drivers/regulator/max8952.c
Original file line number Diff line number Diff line change
Expand Up @@ -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(&regulator, &config);
Expand Down
2 changes: 1 addition & 1 deletion include/linux/regulator/max8952.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};


Expand Down

0 comments on commit 3ec6eb9

Please sign in to comment.