Re: [PATCH] regulator: twl: Enable regulators over the powerbus as well

From: Ivaylo Dimitrov
Date: Fri Mar 25 2016 - 12:51:13 EST




On 25.03.2016 18:19, Mark Brown wrote:
On Fri, Mar 25, 2016 at 06:09:27PM +0200, Ivaylo Dimitrov wrote:

Ok, so you say that regulator framework should call twl4030reg_set_mode(),
but it doesn't. If that is the case, then the bug is in the regulator
framework, a similar one to what you've fixed in "regulator: core: Always
flag voltage constraints as appliable".

What makes you claim that this is a bug in the framework? Does anything
in the machine configuration say that changing the modes is allowed?


My understanding is that regulator core have to make sure an enabled regulator to be in REGULATOR_STATUS_NORMAL. Now it enables the regulator, but does not make it in REGULATOR_STATUS_NORMAL. There are 3 places set_mode() is called in regulator/core.c - in drms_uA_update(), in regulator_set_mode() and in set_machine_constraints(). set_machine_constraints() calls set_mode() only if there is initial mode for that regulator. I can't find a call to regulator_set_mode() anywhere in the tree.

From the documentation:

"regulator-initial-mode: initial operating mode...."

Does the above imply that every regulator present in the system must have "initial-mode" defined even if it is "always-on" regulator?

Also, who puts a regulator out of REGULATOR_STATUS_NORMAL if there are no more consumers?

It might be that I am not getting the logic behind.

Ivo