On 18/03/2020 12:45, Lukasz Luba wrote: > The overhauled Energy Model (EM) framework support also devfreq devices. > The unified API interface of the EM can be used in the thermal subsystem to > not duplicate code. The power table now is taken from EM structure and > there is no need to maintain calculation for it locally. In case when the > EM is not provided by the device a simple interface for cooling device is > used. > > There is also an improvement in code related to enabling/disabling OPPs, > which prevents from race condition with devfreq governors. > > [lkp: Reported the build warning] > Reported-by: kbuild test robot <lkp@xxxxxxxxx> > Reviewed-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> # for tracing code > Signed-off-by: Lukasz Luba <lukasz.luba@xxxxxxx> The changes are too big, please split this patch into smaller chunks. > --- > drivers/thermal/devfreq_cooling.c | 474 ++++++++++++++++-------------- > include/linux/devfreq_cooling.h | 39 +-- > include/trace/events/thermal.h | 19 +- > 3 files changed, 277 insertions(+), 255 deletions(-) > > diff --git a/drivers/thermal/devfreq_cooling.c b/drivers/thermal/devfreq_cooling.c [ ... ] > struct devfreq_cooling_device { > int id; > struct thermal_cooling_device *cdev; > struct devfreq *devfreq; > unsigned long cooling_state; > - u32 *power_table; > u32 *freq_table; > - size_t freq_table_size; > + size_t max_level; Could you rename it to 'max_state' ? [ ... ] -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog