summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuha Keski-Saari <ext-juha.1.keski-saari@nokia.com>2009-12-11 11:12:15 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2009-12-13 19:21:59 +0100
commitab4abe056d8828341d2a7d6463b13eafaf210181 (patch)
treea38e751827567122136b5e978bb0b15a90b3bf47
parentbe26d664de1a6333156bd586a2f795271cfcf170 (diff)
downloadlinux-ab4abe056d8828341d2a7d6463b13eafaf210181.tar.bz2
mfd: Add all twl4030 regulators to the twl4030 mfd driver
Add all twl4030 regulators to the twl4030 mfd driver and twl4030_platform_data Signed-off-by: Juha Keski-Saari <ext-juha.1.keski-saari@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r--drivers/mfd/twl4030-core.c26
-rw-r--r--include/linux/i2c/twl4030.h8
2 files changed, 30 insertions, 4 deletions
diff --git a/drivers/mfd/twl4030-core.c b/drivers/mfd/twl4030-core.c
index 334c86fccede..e4a5d489b8e7 100644
--- a/drivers/mfd/twl4030-core.c
+++ b/drivers/mfd/twl4030-core.c
@@ -625,11 +625,21 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
}
if (twl_has_regulator()) {
- /*
child = add_regulator(TWL4030_REG_VPLL1, pdata->vpll1);
if (IS_ERR(child))
return PTR_ERR(child);
- */
+
+ child = add_regulator(TWL4030_REG_VIO, pdata->vio);
+ if (IS_ERR(child))
+ return PTR_ERR(child);
+
+ child = add_regulator(TWL4030_REG_VDD1, pdata->vdd1);
+ if (IS_ERR(child))
+ return PTR_ERR(child);
+
+ child = add_regulator(TWL4030_REG_VDD2, pdata->vdd2);
+ if (IS_ERR(child))
+ return PTR_ERR(child);
child = add_regulator(TWL4030_REG_VMMC1, pdata->vmmc1);
if (IS_ERR(child))
@@ -645,6 +655,18 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
pdata->vaux2);
if (IS_ERR(child))
return PTR_ERR(child);
+
+ child = add_regulator(TWL4030_REG_VINTANA1, pdata->vintana1);
+ if (IS_ERR(child))
+ return PTR_ERR(child);
+
+ child = add_regulator(TWL4030_REG_VINTANA2, pdata->vintana2);
+ if (IS_ERR(child))
+ return PTR_ERR(child);
+
+ child = add_regulator(TWL4030_REG_VINTDIG, pdata->vintdig);
+ if (IS_ERR(child))
+ return PTR_ERR(child);
}
/* maybe add LDOs that are omitted on cost-reduced parts */
diff --git a/include/linux/i2c/twl4030.h b/include/linux/i2c/twl4030.h
index efa62eb497b8..a50bcf8a4048 100644
--- a/include/linux/i2c/twl4030.h
+++ b/include/linux/i2c/twl4030.h
@@ -484,8 +484,12 @@ struct twl4030_platform_data {
struct regulator_init_data *vaux2;
struct regulator_init_data *vaux3;
struct regulator_init_data *vaux4;
-
- /* REVISIT more to come ... _nothing_ should be hard-wired */
+ struct regulator_init_data *vio;
+ struct regulator_init_data *vdd1;
+ struct regulator_init_data *vdd2;
+ struct regulator_init_data *vintana1;
+ struct regulator_init_data *vintana2;
+ struct regulator_init_data *vintdig;
};
/*----------------------------------------------------------------------*/