summaryrefslogtreecommitdiffstats
path: root/drivers/regulator/twl-regulator.c
diff options
context:
space:
mode:
authorNicolae Rosia <Nicolae_Rosia@mentor.com>2016-11-12 14:42:14 +0200
committerMark Brown <broonie@kernel.org>2016-11-16 18:03:39 +0000
commitdab780a3b489b038a47d8fbbc49c33aae1e7a682 (patch)
treec9599a6970c187f95f7875d2a3e948f05cef1e45 /drivers/regulator/twl-regulator.c
parent1001354ca34179f3db924eb66672442a173147dc (diff)
downloadlinux-dab780a3b489b038a47d8fbbc49c33aae1e7a682.tar.gz
linux-dab780a3b489b038a47d8fbbc49c33aae1e7a682.tar.bz2
linux-dab780a3b489b038a47d8fbbc49c33aae1e7a682.zip
regulator: twl-regulator: rework fixed regulator definition
TWL603X and TWL4030 are different and have different code logic. Rework the regulator definition method so we can split the file easily in twl4030 and twl6030. Signed-off-by: Nicolae Rosia <Nicolae_Rosia@mentor.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/regulator/twl-regulator.c')
-rw-r--r--drivers/regulator/twl-regulator.c38
1 files changed, 24 insertions, 14 deletions
diff --git a/drivers/regulator/twl-regulator.c b/drivers/regulator/twl-regulator.c
index 210681d6b743..23f7b31f6355 100644
--- a/drivers/regulator/twl-regulator.c
+++ b/drivers/regulator/twl-regulator.c
@@ -898,15 +898,6 @@ static struct regulator_ops twlsmps_ops = {
/*----------------------------------------------------------------------*/
-#define TWL4030_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \
- remap_conf) \
- TWL_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \
- remap_conf, TWL4030, twl4030fixed_ops, \
- twl4030reg_map_mode)
-#define TWL6030_FIXED_LDO(label, offset, mVolts, turnon_delay) \
- TWL_FIXED_LDO(label, offset, mVolts, 0x0, turnon_delay, \
- 0x0, TWL6030, twl6030fixed_ops, NULL)
-
#define TWL4030_ADJUSTABLE_LDO(label, offset, num, turnon_delay, remap_conf) \
static const struct twlreg_info TWL4030_INFO_##label = { \
.base = offset, \
@@ -983,8 +974,27 @@ static const struct twlreg_info TWL6032_INFO_##label = { \
}, \
}
-#define TWL_FIXED_LDO(label, offset, mVolts, num, turnon_delay, remap_conf, \
- family, operations, map_mode) \
+#define TWL6030_FIXED_LDO(label, offset, mVolts, turnon_delay) \
+static const struct twlreg_info TWLFIXED_INFO_##label = { \
+ .base = offset, \
+ .id = 0, \
+ .min_mV = mVolts, \
+ .remap = 0, \
+ .desc = { \
+ .name = #label, \
+ .id = TWL6030##_REG_##label, \
+ .n_voltages = 1, \
+ .ops = &twl6030fixed_ops, \
+ .type = REGULATOR_VOLTAGE, \
+ .owner = THIS_MODULE, \
+ .min_uV = mVolts * 1000, \
+ .enable_time = turnon_delay, \
+ .of_map_mode = NULL, \
+ }, \
+ }
+
+#define TWL4030_FIXED_LDO(label, offset, mVolts, num, turnon_delay, \
+ remap_conf) \
static const struct twlreg_info TWLFIXED_INFO_##label = { \
.base = offset, \
.id = num, \
@@ -992,14 +1002,14 @@ static const struct twlreg_info TWLFIXED_INFO_##label = { \
.remap = remap_conf, \
.desc = { \
.name = #label, \
- .id = family##_REG_##label, \
+ .id = TWL4030##_REG_##label, \
.n_voltages = 1, \
- .ops = &operations, \
+ .ops = &twl4030fixed_ops, \
.type = REGULATOR_VOLTAGE, \
.owner = THIS_MODULE, \
.min_uV = mVolts * 1000, \
.enable_time = turnon_delay, \
- .of_map_mode = map_mode, \
+ .of_map_mode = twl4030reg_map_mode, \
}, \
}