regulator: max8973: Don't override control1 variable when set ramp delay bits
authorAxel Lin <axel.lin@ingics.com>
Tue, 23 Apr 2013 16:14:55 +0000 (00:14 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 24 Apr 2013 09:52:28 +0000 (10:52 +0100)
Current code overrides control1 variable when setting ramp delay bits.
Fix it by just setting ramp_delay bits.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/regulator/max8973-regulator.c

index 9a8ea91..adb1414 100644 (file)
@@ -274,15 +274,15 @@ static int max8973_init_dcdc(struct max8973_chip *max,
        if (pdata->reg_init_data &&
                        pdata->reg_init_data->constraints.ramp_delay) {
                if (pdata->reg_init_data->constraints.ramp_delay < 25000)
-                       control1 = MAX8973_RAMP_12mV_PER_US;
+                       control1 |= MAX8973_RAMP_12mV_PER_US;
                else if (pdata->reg_init_data->constraints.ramp_delay < 50000)
-                       control1 = MAX8973_RAMP_25mV_PER_US;
+                       control1 |= MAX8973_RAMP_25mV_PER_US;
                else if (pdata->reg_init_data->constraints.ramp_delay < 200000)
-                       control1 = MAX8973_RAMP_50mV_PER_US;
+                       control1 |= MAX8973_RAMP_50mV_PER_US;
                else
-                       control1 = MAX8973_RAMP_200mV_PER_US;
+                       control1 |= MAX8973_RAMP_200mV_PER_US;
        } else {
-               control1 = MAX8973_RAMP_12mV_PER_US;
+               control1 |= MAX8973_RAMP_12mV_PER_US;
                max->desc.ramp_delay = 12500;
        }