Re: [PATCHv6 1/6] regulator: core: add support for external get/set_voltage

Mark Brown
2011-11-25T16:52:17Z

On Fri, Nov 25, 2011 at 06:29:17PM +0200, Tero Kristo wrote:

Why is this only on the OMAP list? Always CC the relevant discussion
list for the subsystem, especially when proposing changes to the
subsystem!

> Regulator users can now set override functions for get_voltage and
> set_voltage. This is required by some regulators, which have two
> alternate control paths. E.g., OMAP SMPS regulators can be controlled
> either through the I2C interface or voltage processor control path,
> which uses specialized hardware.

My basic reaction to this is "eew, ick". Doing this with a runtime call
just feels badly joined up, and there's nothing here which hands off the
configuration between the various drivers involved in the transitions.
We need to make sure that the voltage doesn't suddenly lurch around when
doing transitions.

There's also a lack of locking in the code which would seem to be
required and I'd expect regulator_set_external_ctl() to return an error
if it fails.