regulator: core: Disable unused regulators after deferred probing is done
authorSaravana Kannan <skannan@codeaurora.org>
Wed, 23 Apr 2014 23:10:50 +0000 (18:10 -0500)
committerMark Brown <broonie@linaro.org>
Sun, 1 Jun 2014 18:16:12 +0000 (19:16 +0100)
commitfd482a3e3e20cddfb6d775ec0382f98a92b8a25e
treed6ea01b6e44fd0c71645c3b252140df17a73dd40
parente953583456005823d7c20fefe5212f0f60a93fb6
regulator: core: Disable unused regulators after deferred probing is done

regulator_init_complete does a scan of regulators which dont have
always-on or consumers are automatically disabled as being unused.
However, with deferred probing, late_initcall() is too soon to
declare a regulator as unused as the regulator itself might not
have registered due to defferal - Example: A regulator deffered due
to i2bus not available which in turn is deffered due to pinctrl
availability.

Since deferred probing is done in late_initcall(), do the cleanup of
unused regulators by regulator_init_complete in late_initcall_sync
instead of late_initcall.

Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Markus Pargmann <mpa@pengutronix.de>
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
[nm@ti.com: minor rewording]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/regulator/core.c