regulator: max8952: Separate constraints from platform data struct
authorTomasz Figa <t.figa@samsung.com>
Thu, 4 Apr 2013 16:17:19 +0000 (18:17 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 5 Apr 2013 10:20:51 +0000 (11:20 +0100)
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>
arch/arm/mach-exynos/mach-universal_c210.c
drivers/regulator/max8952.c
include/linux/regulator/max8952.h

index 497fcb793dc150a39b02fa9c4b49cf33b70a18b1..d28c7fbaba2d15f8e995efbcaf6f0744a6b6cacb 100644 (file)
@@ -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 =
index fc7935a19e3a143f996aeeb4879d4d8ba75f0e9b..100b9177dba1c34a606b14349987b0c89b3a6d07 100644 (file)
@@ -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);
index 45e42855ad050f6705a67cd22cd64f85eb701154..c13aa34d9019a072bd17244a2117ab37d92e6b31 100644 (file)
@@ -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;
 };