aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2017-02-19 11:40:21 -0500
committerMark Brown <broonie@kernel.org>2017-02-19 11:40:21 -0500
commit1c35539cd76848bc65d791c6741e3f0195901f5f (patch)
treee171ec520a673323683e0b0bcb84c00734b94e07
parent6b80562d514032502a43b72346153a03fe01c3f6 (diff)
parent3827b64dba27ebadb4faf51f2c91143e01ba1f6d (diff)
Merge remote-tracking branch 'regulator/fix/core' into regulator-linus
-rw-r--r--drivers/regulator/core.c10
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(&regulator_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