On Tue, Sep 25, 2012 at 02:24:23PM +0300, Peter Ujfalusi wrote:
During audio activity we obviously need to configure these pins to MODE0 but when there is not activity we could set them to SAFE_MODE which could result some power savings (preventing leakage, etc).
Right, this is Linus' power saving case. It's going to be applicable in some way to most devices, though the benefits will vary quite a bit.
For this to work it would be ideal to use the pm_runtime as a centralized place to handle clocks, pinctrl, etc... But again, what to do with the cases when this is not needed (the pinctrl part for the devices)?
It's also not massively clear to me that generic pm_runtime code is a good place to put all this stuff - it's too coarse grained for a lot of things. Devices that can be wake sources are an example here, if they are doing that then turning them completely off may break functionality but you can still turn some of the device (possibly a varying selection depending on usage) off. For simple cases it works well and it'd be good to have it but you end up back into ignoring errors...