Re: [RFC] Regulator state after regulator_get

From: Mark Brown
Date: Thu Apr 28 2011 - 06:06:25 EST


On Thu, Apr 28, 2011 at 09:01:03AM +0000, kalle.jokiniemi@xxxxxxxxx wrote:

> If the device driver using the regulator does not enable and disable the
> regulator after regulator_get, the regulator is left in the state that it was
> after bootloader. In case of N900 this is a problem as the regulator is left
> on to leak current. Of course there is the option to let regulator FW disable
> all unused regulators, but this will break the N900 functionality, as the
> regulator handling is not in place for many drivers.

You should use regulator_full_constraints() if your board has a fully
described set of regulators. This will cause the framework to power
down any regulators which aren't in use after init has completed. If
you have some regulators with no consumers or missing consumers you need
to mark them as always_on in their constraints.

> So reset the regulator on first regulator_get call to make
> sure that any regulator that has users is not left active
> needlessly.

This would cause lots of breakage, it would mean that all regulators
that aren't always_on would get bounced off at least once during startup
- that's not going to be great for things like the backlight.
--
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/