regulator: lp8788: Implement list_voltage for lp8788_ldo_voltage_fixed_ops
authorAxel Lin <axel.lin@ingics.com>
Mon, 1 Apr 2013 15:28:48 +0000 (23:28 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 3 Apr 2013 17:46:29 +0000 (18:46 +0100)
For fixed voltage, we can just set min_uV and use regulator_list_voltage_linear
for list_voltage callback. Regulator core will call list_voltage(rdev, 0) if
both get_voltage get_voltage_sel are not implemented. Thus we can also remove
lp8788_ldo_fixed_get_voltage() function.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Milo Kim <milo.kim@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/regulator/lp8788-ldo.c

index c29aeae..0ce2c4c 100644 (file)
@@ -170,23 +170,6 @@ static int lp8788_ldo_enable_time(struct regulator_dev *rdev)
        return ENABLE_TIME_USEC * val;
 }
 
-static int lp8788_ldo_fixed_get_voltage(struct regulator_dev *rdev)
-{
-       enum lp8788_ldo_id id = rdev_get_id(rdev);
-
-       switch (id) {
-       case ALDO2 ... ALDO5:
-               return 2850000;
-       case DLDO12:
-       case ALDO8 ... ALDO9:
-               return 2500000;
-       case ALDO10:
-               return 1100000;
-       default:
-               return -EINVAL;
-       }
-}
-
 static struct regulator_ops lp8788_ldo_voltage_table_ops = {
        .list_voltage = regulator_list_voltage_table,
        .set_voltage_sel = regulator_set_voltage_sel_regmap,
@@ -198,7 +181,7 @@ static struct regulator_ops lp8788_ldo_voltage_table_ops = {
 };
 
 static struct regulator_ops lp8788_ldo_voltage_fixed_ops = {
-       .get_voltage = lp8788_ldo_fixed_get_voltage,
+       .list_voltage = regulator_list_voltage_linear,
        .enable = regulator_enable_regmap,
        .disable = regulator_disable_regmap,
        .is_enabled = regulator_is_enabled_regmap,
@@ -358,6 +341,7 @@ static struct regulator_desc lp8788_dldo_desc[] = {
                .owner = THIS_MODULE,
                .enable_reg = LP8788_EN_LDO_B,
                .enable_mask = LP8788_EN_DLDO12_M,
+               .min_uV = 2500000,
        },
 };
 
@@ -384,6 +368,7 @@ static struct regulator_desc lp8788_aldo_desc[] = {
                .owner = THIS_MODULE,
                .enable_reg = LP8788_EN_LDO_B,
                .enable_mask = LP8788_EN_ALDO2_M,
+               .min_uV = 2850000,
        },
        {
                .name = "aldo3",
@@ -394,6 +379,7 @@ static struct regulator_desc lp8788_aldo_desc[] = {
                .owner = THIS_MODULE,
                .enable_reg = LP8788_EN_LDO_B,
                .enable_mask = LP8788_EN_ALDO3_M,
+               .min_uV = 2850000,
        },
        {
                .name = "aldo4",
@@ -404,6 +390,7 @@ static struct regulator_desc lp8788_aldo_desc[] = {
                .owner = THIS_MODULE,
                .enable_reg = LP8788_EN_LDO_B,
                .enable_mask = LP8788_EN_ALDO4_M,
+               .min_uV = 2850000,
        },
        {
                .name = "aldo5",
@@ -414,6 +401,7 @@ static struct regulator_desc lp8788_aldo_desc[] = {
                .owner = THIS_MODULE,
                .enable_reg = LP8788_EN_LDO_C,
                .enable_mask = LP8788_EN_ALDO5_M,
+               .min_uV = 2850000,
        },
        {
                .name = "aldo6",
@@ -450,6 +438,7 @@ static struct regulator_desc lp8788_aldo_desc[] = {
                .owner = THIS_MODULE,
                .enable_reg = LP8788_EN_LDO_C,
                .enable_mask = LP8788_EN_ALDO8_M,
+               .min_uV = 2500000,
        },
        {
                .name = "aldo9",
@@ -460,6 +449,7 @@ static struct regulator_desc lp8788_aldo_desc[] = {
                .owner = THIS_MODULE,
                .enable_reg = LP8788_EN_LDO_C,
                .enable_mask = LP8788_EN_ALDO9_M,
+               .min_uV = 2500000,
        },
        {
                .name = "aldo10",
@@ -470,6 +460,7 @@ static struct regulator_desc lp8788_aldo_desc[] = {
                .owner = THIS_MODULE,
                .enable_reg = LP8788_EN_LDO_C,
                .enable_mask = LP8788_EN_ALDO10_M,
+               .min_uV = 1100000,
        },
 };