ACPI: CPPC: Add emtpy stubs of functions for CONFIG_ACPI_CPPC_LIB unset
Subsystems (3)
PATCH 1/1 ACPI: CPPC: Add emtpy stubs of functions for CONFIG_ACPI_CPPC_LIB unset
From: Rafael J. Wysocki <[email protected]>
For convenience, add empty stubs of library functions defined in cppc_acpi.c for the CONFIG_ACPI_CPPC_LIB unset case.
Because one of them needs to return CPUFREQ_ETERNAL, include linux/cpufreq.h into the CPPC library header file and drop the direct inclusion of it from cppc_acpi.c.
Signed-off-by Rafael J. Wysocki <[email protected]>
--- drivers/acpi/cppc_acpi.c | 1 - include/acpi/cppc_acpi.h | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-)
include/acpi/cppc_acpi.h +40 -0
@@ -11,6 +11,7 @@#define _CPPC_ACPI_H#include <linux/acpi.h> +#include <linux/cpufreq.h> #include <linux/types.h> #include <acpi/pcc.h>
@@ -132,6 +133,7 @@ struct cppc_cpudata {cpumask_var_t shared_cpu_map; }; +#ifdef CONFIG_ACPI_CPPC_LIB extern int cppc_get_desired_perf (int cpunum,u64 *desired_perf);extern int cppc_get_perf_ctrs (int cpu,struct cppc_perf_fb_ctrs *perf_fb_ctrs);extern int cppc_set_perf (int cpu,struct cppc_perf_ctrls *perf_ctrls);
@@ -142,5 +144,43 @@ extern unsigned int cppc_get_transition_extern bool cpc_ffh_supported (void );extern int cpc_read_ffh (int cpunum,struct cpc_reg *reg,u64 *val);extern int cpc_write_ffh (int cpunum,struct cpc_reg *reg,u64 val); +#else /* !CONFIG_ACPI_CPPC_LIB */ +static inline int cppc_get_desired_perf (int cpunum,u64 *desired_perf) +{ +return -ENOTSUPP ; +} +static inline int cppc_get_perf_ctrs (int cpu,struct cppc_perf_fb_ctrs *perf_fb_ctrs) +{ +return -ENOTSUPP ; +} +static inline int cppc_set_perf (int cpu,struct cppc_perf_ctrls *perf_ctrls) +{ +return -ENOTSUPP ; +} +static inline int cppc_get_perf_caps (int cpu,struct cppc_perf_caps *caps) +{ +return -ENOTSUPP ; +} +static inline bool acpi_cpc_valid (void ) +{ +return false; +} +static inline unsigned int cppc_get_transition_latency (int cpu) +{ +return CPUFREQ_ETERNAL ; +} +static inline bool cpc_ffh_supported (void ) +{ +return false; +} +static inline int cpc_read_ffh (int cpunum,struct cpc_reg *reg,u64 *val) +{ +return -ENOTSUPP ; +} +static inline int cpc_write_ffh (int cpunum,struct cpc_reg *reg,u64 val) +{ +return -ENOTSUPP ; +} +#endif /* !CONFIG_ACPI_CPPC_LIB */ #endif /* _CPPC_ACPI_H*/
drivers/acpi/cppc_acpi.c +0 -1
@@ -33,7 +33,6 @@#define pr_fmt (fmt) "ACPI CPPC: " fmt -#include <linux/cpufreq.h> #include <linux/delay.h> #include <linux/iopoll.h> #include <linux/ktime.h>
Quoted 10 lines · Rafael J. Wysocki
From: Rafael J. Wysocki <[email protected]>
For convenience, add empty stubs of library functions defined in
cppc_acpi.cfor theCONFIG_ACPI_CPPC_LIBunset case.Because one of them needs to return
CPUFREQ_ETERNAL, includelinux/cpufreq.hinto the CPPC library header file and drop the direct inclusion of it fromcppc_acpi.c.Signed-off-by Rafael J. Wysocki <[email protected]>
Tested-by Chen Yu <[email protected]>
thanks,
Chenyu