Messages in this thread Patch in this message | | | From | Alban Bedel <> | Subject | [PATCH] regulator: core: Fix the init of DT defined fixed regulators | Date | Mon, 19 May 2014 13:12:34 +0200 |
| |
When a regulator is defined using DT and it has a single voltage the regulator init always tries to apply this voltage. However this fails if the regulator isn't settable. So skip this step if the regulator doesn't provides any set method.
Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de> --- drivers/regulator/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 9a09f3c..e57450f 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -843,7 +843,9 @@ static int machine_constraints_voltage(struct regulator_dev *rdev, /* do we need to apply the constraint voltage */ if (rdev->constraints->apply_uV && - rdev->constraints->min_uV == rdev->constraints->max_uV) { + rdev->constraints->min_uV == rdev->constraints->max_uV && + (rdev->desc->ops->set_voltage || + rdev->desc->ops->set_voltage_sel)) { ret = _regulator_do_set_voltage(rdev, rdev->constraints->min_uV, rdev->constraints->max_uV); -- 1.9.3
| |