Merge remote-tracking branch 'regulator/topic/twl' into v3.9-rc8
[cascardo/linux.git] / drivers / regulator / twl-regulator.c
index 74508cc..fb6e67d 100644 (file)
@@ -441,12 +441,6 @@ static const u16 VSIM_VSEL_table[] = {
 static const u16 VDAC_VSEL_table[] = {
        1200, 1300, 1800, 1800,
 };
-static const u16 VDD1_VSEL_table[] = {
-       800, 1450,
-};
-static const u16 VDD2_VSEL_table[] = {
-       800, 1450, 1500,
-};
 static const u16 VIO_VSEL_table[] = {
        1800, 1850,
 };
@@ -471,24 +465,23 @@ twl4030ldo_set_voltage_sel(struct regulator_dev *rdev, unsigned selector)
                            selector);
 }
 
-static int twl4030ldo_get_voltage(struct regulator_dev *rdev)
+static int twl4030ldo_get_voltage_sel(struct regulator_dev *rdev)
 {
        struct twlreg_info      *info = rdev_get_drvdata(rdev);
-       int             vsel = twlreg_read(info, TWL_MODULE_PM_RECEIVER,
-                                                               VREG_VOLTAGE);
+       int vsel = twlreg_read(info, TWL_MODULE_PM_RECEIVER, VREG_VOLTAGE);
 
        if (vsel < 0)
                return vsel;
 
        vsel &= info->table_len - 1;
-       return LDO_MV(info->table[vsel]) * 1000;
+       return vsel;
 }
 
 static struct regulator_ops twl4030ldo_ops = {
        .list_voltage   = twl4030ldo_list_voltage,
 
        .set_voltage_sel = twl4030ldo_set_voltage_sel,
-       .get_voltage    = twl4030ldo_get_voltage,
+       .get_voltage_sel = twl4030ldo_get_voltage_sel,
 
        .enable         = twl4030reg_enable,
        .disable        = twl4030reg_disable,
@@ -616,18 +609,8 @@ static struct regulator_ops twl6030ldo_ops = {
 
 /*----------------------------------------------------------------------*/
 
-/*
- * Fixed voltage LDOs don't have a VSEL field to update.
- */
-static int twlfixed_list_voltage(struct regulator_dev *rdev, unsigned index)
-{
-       struct twlreg_info      *info = rdev_get_drvdata(rdev);
-
-       return info->min_mV * 1000;
-}
-
 static struct regulator_ops twl4030fixed_ops = {
-       .list_voltage   = twlfixed_list_voltage,
+       .list_voltage   = regulator_list_voltage_linear,
 
        .enable         = twl4030reg_enable,
        .disable        = twl4030reg_disable,
@@ -639,7 +622,7 @@ static struct regulator_ops twl4030fixed_ops = {
 };
 
 static struct regulator_ops twl6030fixed_ops = {
-       .list_voltage   = twlfixed_list_voltage,
+       .list_voltage   = regulator_list_voltage_linear,
 
        .enable         = twl6030reg_enable,
        .disable        = twl6030reg_disable,
@@ -945,19 +928,7 @@ static const struct twlreg_info TWLFIXED_INFO_##label = { \
                .ops = &operations, \
                .type = REGULATOR_VOLTAGE, \
                .owner = THIS_MODULE, \
-               .enable_time = turnon_delay, \
-               }, \
-       }
-
-#define TWL6030_FIXED_RESOURCE(label, offset, turnon_delay) \
-static struct twlreg_info TWLRES_INFO_##label = { \
-       .base = offset, \
-       .desc = { \
-               .name = #label, \
-               .id = TWL6030_REG_##label, \
-               .ops = &twl6030_fixed_resource, \
-               .type = REGULATOR_VOLTAGE, \
-               .owner = THIS_MODULE, \
+               .min_uV = mVolts * 1000, \
                .enable_time = turnon_delay, \
                }, \
        }