Message ID | 1398294650-24821-1-git-send-email-nm@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Apr 23, 2014 at 06:10:50PM -0500, Nishanth Menon wrote: > From: Saravana Kannan <skannan@codeaurora.org> > > 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. I'll apply this however since as we discussed on IRC last night it's going to make the issues with unconfigured regulators getting powered off more severe before I do so I'll change things so that regulators with no configuration at all don't get touched by the core.
On 04/24/2014 08:34 AM, Mark Brown wrote: > On Wed, Apr 23, 2014 at 06:10:50PM -0500, Nishanth Menon wrote: >> From: Saravana Kannan <skannan@codeaurora.org> >> >> 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. > > I'll apply this however since as we discussed on IRC last night it's > going to make the issues with unconfigured regulators getting powered > off more severe before I do so I'll change things so that regulators > with no configuration at all don't get touched by the core. > Thanks Mark.
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 9a09f3c..5a05de3 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -3867,4 +3867,4 @@ unlock: return 0; } -late_initcall(regulator_init_complete); +late_initcall_sync(regulator_init_complete);