Re: [PATCH v4 2/3] PM / EM: Expose perf domain struct

From: Daniel Lezcano
Date: Wed May 15 2019 - 06:53:48 EST


On 15/05/2019 12:46, Quentin Perret wrote:
> On Wednesday 15 May 2019 at 11:40:44 (+0100), Quentin Perret wrote:

[ ... ]

>> +#ifdef CONFIG_THERMAL_GOV_POWER_ALLOCATOR
>> if (capacitance) {
>> ret = update_freq_table(cpufreq_cdev, capacitance);
>> if (ret) {
>> cdev = ERR_PTR(ret);
>> goto remove_ida;
>> }
>> -
>> - cooling_ops = &cpufreq_power_cooling_ops;
>> - } else {
>> - cooling_ops = &cpufreq_cooling_ops;
>> }
>> +#endif
>> + cooling_ops = &cpufreq_cooling_ops;
>
> Argh, that is actually broken with !capacitance and
> THERMAL_GOV_POWER_ALLOCATOR=y ... Perhaps it's best to keep the two
> thermal_cooling_device_ops struct separated in the end.

Or alternatively you can keep one structure but instead of filling the
state2power,power2state and getrequestedpower fields in the declaration,
you fill them in the if (capacitance) block, no?




--
<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