On Mon, Apr 23, 2012 at 11:37:53AM +0200, Ulf Hansson wrote:
Regulators which has boot_on constraints set, will now remain
powered after regulator_init_complete is done.
This would be a bug. All boot_on means is that the regulator was turned
on during boot, the regulator is free to vary after that.
In this case we leave the enable->disable operation to be
handled by the regulator consumer instead.
Which would be a bug if the consumer wasn't the thing that took the
reference to the regulator in the first place. Remember, regulators can
be shared so the consumer can't disable a regulator it didn't enable in
the first place (unless it used regulator_get_exclusive() but the use
cases for that are a little suspicious so it'd be worth taking a careful
look before using it). A consumer can't tell if the regulator was left
enabled by the firmware on boot or if it has been enabled by another
consumer.