From: Lukasz Luba Date: Wed, 2 Mar 2022 11:29:15 +0000 (+0000) Subject: PM: EM: add macro to set .active_power() callback conditionally X-Git-Tag: v5.18-rc1~68^2~1^2^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=caeea9e6671984c3865918459d756b961a24bb49;p=thirdparty%2Flinux.git PM: EM: add macro to set .active_power() callback conditionally The Energy Model is able to use new power values coming from DT. Add a new macro which is helpful in setting the .active_power() callback conditionally in setup time. The dual-macro implementation handles both kernel configurations: w/ EM and w/o EM built-in. Reported-by: kernel test robot Signed-off-by: Lukasz Luba Signed-off-by: Viresh Kumar --- diff --git a/include/linux/energy_model.h b/include/linux/energy_model.h index 6377adc3b78dd..9f3c400bc52d4 100644 --- a/include/linux/energy_model.h +++ b/include/linux/energy_model.h @@ -116,6 +116,7 @@ struct em_data_callback { struct device *dev); }; #define EM_DATA_CB(_active_power_cb) { .active_power = &_active_power_cb } +#define EM_SET_ACTIVE_POWER_CB(em_cb, cb) ((em_cb).active_power = cb) struct em_perf_domain *em_cpu_get(int cpu); struct em_perf_domain *em_pd_get(struct device *dev); @@ -264,6 +265,7 @@ static inline int em_pd_nr_perf_states(struct em_perf_domain *pd) #else struct em_data_callback {}; #define EM_DATA_CB(_active_power_cb) { } +#define EM_SET_ACTIVE_POWER_CB(em_cb, cb) do { } while (0) static inline int em_dev_register_perf_domain(struct device *dev, unsigned int nr_states,