On Mon, Nov 26, 2012 at 05:13:37AM -0800, [email protected] wrote:

> For example:
> Consumer (A) cpu-freq sets the voltage range to {1.275v, 1.375v}. The
> regulator framework eventually sets the regulator to 1.275v. Consumer (B)
> recommends a lower the voltage say (1.25v) and executes set_volatge on
> {1.25v, 1.25v}. This is where regulator_check_consumers() fails as it does
> not meet the (A)'s constraint.

Well, of course.  What else would you expect to happen in this case?

> We are looking for the right way to handle such a situation using
> regulator framework, considering this to be a valid usecase. One way we
> could think of is having one of the driver (say cpu-freq) register a
> virtual regulator device and have the other driver be its consumer. This
> way all the regulator calls to the physical hardware will be routed though
> one primary driver which can take care of the adjustments. The problem
> with such approach would be scalability for a new consumer, i.e. adding
> another consumer for the primary driver would present a similar problem as
> the original one.

Why not just fix your consumers to request the voltage ranges they
actually want?  Clearly in your above example one of the consumers can
support a wider voltage range than it is actually requesting so it
should just request that voltage range.

Attachment: signature.asc
Description: Digital signature

Reply via email to