UPSTREAM: regulator: core: Move registration of regulator device
authorJon Hunter <jonathanh@nvidia.com>
Thu, 21 Apr 2016 16:11:59 +0000 (17:11 +0100)
committerHuang, Tao <huangtao@rock-chips.com>
Mon, 6 Mar 2017 10:28:40 +0000 (18:28 +0800)
commite322305bbaed27c398d13340f3e3bc6ecfe6744f
tree7d7e8c6f76f1d16d5e2cc1c719edded53d714d60
parent2ba368178b7fd09a197def8d4f3d229f39b184e7
UPSTREAM: regulator: core: Move registration of regulator device

The public functions to acquire a regulator, such as regulator_get(),
internally look-up the regulator from the list of regulators that have
been registered with the regulator device class. The registration of
a new regulator with the regulator device class happens before the
regulator has been completely setup. Therefore, it is possible that
the regulator could be acquired before it has been setup successfully.
To avoid this move the device registration of the regulator to the end
of the regulator setup and update the error exit path accordingly.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit c438b9d017362b65f6b1a9e54f7f35e7f873dc7c)

Change-Id: I9b33820c1ea748fdf5ccfb8949775b753af4a848
Signed-off-by: David Wu <david.wu@rock-chips.com>
drivers/regulator/core.c