aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/regulator/hi6421-regulator.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/regulator/hi6421-regulator.c b/drivers/regulator/hi6421-regulator.c
index 5a73a203eeab..a68b1cb78483 100644
--- a/drivers/regulator/hi6421-regulator.c
+++ b/drivers/regulator/hi6421-regulator.c
@@ -479,6 +479,7 @@ static int hi6421_regulator_probe(struct platform_device *pdev)
struct regulator_dev *rdev;
struct hi6421_regulator *sreg = NULL;
struct regulator_init_data *initdata;
+ struct regulation_constraints *c;
struct regulator_config config = { };
const struct of_device_id *match;
const struct hi6421_regulator *template = NULL;
@@ -492,6 +493,13 @@ static int hi6421_regulator_probe(struct platform_device *pdev)
return -EINVAL;
initdata = of_get_regulator_init_data(dev, np);
+
+ /* hi6421 regulator supports two modes */
+ c = &initdata->constraints;
+ c->valid_modes_mask = REGULATOR_MODE_NORMAL | REGULATOR_MODE_IDLE;
+ c->valid_ops_mask |= (REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_DRMS);
+ c->input_uV = c->min_uV;
+
sreg = kmemdup(template, sizeof(*sreg), GFP_KERNEL);
if (!sreg)
return -ENOMEM;