tree 63c7b625c8e2232b1d43e76d6e8a120ba0f900cb
parent a2151374230820a3a6e654f2998b2a44dbfae4e1
author Jon Hunter <jonathanh@nvidia.com> 1461255117 +0100
committer Mark Brown <broonie@kernel.org> 1461321287 +0100

regulator: core: Don't terminate supply resolution early

The function regulator_register_resolve_supply() is called from the
context of class_for_each_dev() (during the regulator registration) to
resolve any supplies added. regulator_register_resolve_supply() will
return an error if a regulator's supply cannot be resolved and this will
terminate the loop in class_for_each_dev(). This means that we will not
attempt to resolve any other supplies after one has failed. Hence, this
may delay the resolution of other regulator supplies until the failing
one itself can be resolved.

Rather than terminating the loop early, don't return an error code and
keep attempting to resolve any other supplies for regulators that have
been registered.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
