diff options
author | Mark Brown <broonie@kernel.org> | 2017-02-19 11:40:21 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-02-19 11:40:21 -0500 |
commit | 1c35539cd76848bc65d791c6741e3f0195901f5f (patch) | |
tree | e171ec520a673323683e0b0bcb84c00734b94e07 | |
parent | 6b80562d514032502a43b72346153a03fe01c3f6 (diff) | |
parent | 3827b64dba27ebadb4faf51f2c91143e01ba1f6d (diff) |
Merge remote-tracking branch 'regulator/fix/core' into regulator-linus
-rw-r--r-- | drivers/regulator/core.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 04baac9a165b..8028835d3967 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c | |||
@@ -4540,6 +4540,16 @@ static int __init regulator_init_complete(void) | |||
4540 | if (of_have_populated_dt()) | 4540 | if (of_have_populated_dt()) |
4541 | has_full_constraints = true; | 4541 | has_full_constraints = true; |
4542 | 4542 | ||
4543 | /* | ||
4544 | * Regulators may had failed to resolve their input supplies | ||
4545 | * when were registered, either because the input supply was | ||
4546 | * not registered yet or because its parent device was not | ||
4547 | * bound yet. So attempt to resolve the input supplies for | ||
4548 | * pending regulators before trying to disable unused ones. | ||
4549 | */ | ||
4550 | class_for_each_device(®ulator_class, NULL, NULL, | ||
4551 | regulator_register_resolve_supply); | ||
4552 | |||
4543 | /* If we have a full configuration then disable any regulators | 4553 | /* If we have a full configuration then disable any regulators |
4544 | * we have permission to change the status for and which are | 4554 | * we have permission to change the status for and which are |
4545 | * not in use or always_on. This is effectively the default | 4555 | * not in use or always_on. This is effectively the default |