diff options
-rw-r--r-- | drivers/regulator/hi6421-regulator.c | 8 |
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; |