Re: [PATCH] regulator: core: Keep boot_on regulators powered duringinit

From: Ulf Hansson
Date: Wed Apr 25 2012 - 05:37:47 EST


On 04/25/2012 10:02 AM, Mark Brown wrote:
On Tue, Apr 24, 2012 at 02:43:20PM +0200, Ulf Hansson wrote:

So if grabbing a reference, there is no good point in the code were
I can drop it. Moreover _every_ host driver needs to handle this. It
will likely become a "hack" is my first impression.

If it's something that every host driver needs to do then just factor it
into the framework and we're done... The stuff you're trying to put in
the regulator API feels equally like it's a bodge and it seems to me
like we've just not thought of the best way for the MMC stack to figure
out and keep track of if it needs a regulator or not.

This just seems awfully fragile and very much dependant on things like
having the driver actually enabled to clean up later.

Setting this constraint is not done be "default", it could be
clearly be stated that the consumer must handle the enable/disable,
otherwise the regulator will be left in the state it was when the
kernel booted.

Right, but the whole point in having full constraints is to avoid that.
Users are supposed to set constraints to grant permissions for things,
not to work around internal problems in the rest of the stack. If I
could see a general use case for the feature... but I'm having trouble
doing that.

Maybe you have convinced me now :-) I will therefore start thinking of a patch on the mmc framework instead. I will include you if/when I send out the patch to the mmc-list, just for reference if that is ok with you?

Some final thoughts (please comment if you like):
We already have the boot_on constraint, which to me is similar to what a new kind of "boot keep state" constraint would be. I think it would be no more odd than what boot_on already is. Maybe not a good argument, but still..


Kind regards
Ulf Hansson
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/