On Mon, Nov 26, 2012 at 05:13:37AM -0800, aghayal@xxxxxxxxxxxxxx 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