On Tue, Sep 08, 2015 at 11:14:09AM +0100, Nikesh Oswal wrote:
When regulator is defined with SND_SOC_DAPM_REGULATOR_CONTROL_BYPASSThis is really not a good idea, moving a regulator from regulated to
flag, then a kcontrol will be created which can be used to switch
regulator to regulated/bypass state. This will help to control the
behaviour of the regulator based on a usecase. For example voice call
may need a regulated voltage to acheive higher quality whereas voice
trigger may need bypass voltage so as to save on power.
bypass without coordination with the driver is a recipie for bugs at
best and physical damage at worst. It's something that should be being
done by the device driver based on the current state of the device, the
general model is that we always drive to the lowest power state possible
based on what the device is currently doing. If the device is set up to
do something that can use an unregulated supply then it should put the
supply into bypass mode without any help from userspace.
As I think we went through the last time you submitted code to the core
it is very important that we have coherent and safe abstractions that
result in code which does what it says. The code in the core has to
work coherently for everyone, just randomly punching holes through
abstractions for system specific hacks from userspace is not going to do
that.