On 27 September 2014 15:44, Mike Turquette mike.turquette@linaro.org wrote:
I have another use case for exposing driver flags and I have created a similar patch to this locally in my git tree.
Basically some cpufreq drivers may block or sleep during their .set_target callback, and others will not. E.g. the former case is the common pattern to use the clock framework and the regulator framework, both of which hold mutexes and may have slow operations and the latter case is more like the Intel P-state driver with just some register writes.
For the energy-aware scheduling work it is desirable to know if the cpufreq driver can do a "fast" transition of it might sleep, since that affects whether we adjust the cpu frequency from the scheduler context of whether need to put new work on the workqueue (e.g. waking up a kthread dedicated to calling .set_target).
I wasn't against exposing the flags but using the same variable to store driver specific data.