Message ID | 20220530100424.103301-2-pierre.gondois@arm.com |
---|---|
State | New |
Headers | show |
Series | cpufreq: CPPC: Fix unused-function warning | expand |
On Mon, May 30, 2022 at 1:56 PM Shaokun Zhang <zhangshaokun@hisilicon.com> wrote: > > Hi, > > It works for me on compile when CONFIG_ENERGY_MODEL=n, please feel free to add: > Tested-by: Shaokun Zhang <zhangshaokun@hisilicon.com> Applied, thanks! > On 2022/5/30 18:04, Pierre Gondois wrote: > > Building the cppc_cpufreq driver with for arm64 with > > CONFIG_ENERGY_MODEL=n triggers the following warnings: > > drivers/cpufreq/cppc_cpufreq.c:550:12: error: ‘cppc_get_cpu_cost’ defined but not used > > [-Werror=unused-function] > > 550 | static int cppc_get_cpu_cost(struct device *cpu_dev, unsigned long KHz, > > | ^~~~~~~~~~~~~~~~~ > > drivers/cpufreq/cppc_cpufreq.c:481:12: error: ‘cppc_get_cpu_power’ defined but not used > > [-Werror=unused-function] > > 481 | static int cppc_get_cpu_power(struct device *cpu_dev, > > | ^~~~~~~~~~~~~~~~~~ > > > > Move the Energy Model related functions into specific guards. > > This allows to fix the warning and prevent doing extra work > > when the Energy Model is not present. > > > > Fixes: 740fcdc2c20e ("cpufreq: CPPC: Register EM based on efficiency class information") > > Reported-by: Shaokun Zhang <zhangshaokun@hisilicon.com> > > Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> > > --- > > drivers/cpufreq/cppc_cpufreq.c | 17 ++++++++--------- > > 1 file changed, 8 insertions(+), 9 deletions(-) > > > > diff --git a/drivers/cpufreq/cppc_cpufreq.c b/drivers/cpufreq/cppc_cpufreq.c > > index f0a8bb2c59e5..24eaf0ec344d 100644 > > --- a/drivers/cpufreq/cppc_cpufreq.c > > +++ b/drivers/cpufreq/cppc_cpufreq.c > > @@ -441,6 +441,14 @@ static unsigned int cppc_cpufreq_get_transition_delay_us(unsigned int cpu) > > } > > return cppc_get_transition_latency(cpu) / NSEC_PER_USEC; > > } > > +#else > > +static unsigned int cppc_cpufreq_get_transition_delay_us(unsigned int cpu) > > +{ > > + return cppc_get_transition_latency(cpu) / NSEC_PER_USEC; > > +} > > +#endif > > + > > +#if defined(CONFIG_ARM64) && defined(CONFIG_ENERGY_MODEL) > > > > static DEFINE_PER_CPU(unsigned int, efficiency_class); > > static void cppc_cpufreq_register_em(struct cpufreq_policy *policy); > > @@ -621,21 +629,12 @@ static void cppc_cpufreq_register_em(struct cpufreq_policy *policy) > > } > > > > #else > > - > > -static unsigned int cppc_cpufreq_get_transition_delay_us(unsigned int cpu) > > -{ > > - return cppc_get_transition_latency(cpu) / NSEC_PER_USEC; > > -} > > static int populate_efficiency_class(void) > > { > > return 0; > > } > > -static void cppc_cpufreq_register_em(struct cpufreq_policy *policy) > > -{ > > -} > > #endif > > > > - > > static struct cppc_cpudata *cppc_cpufreq_get_cpu_data(unsigned int cpu) > > { > > struct cppc_cpudata *cpu_data; > >
diff --git a/drivers/cpufreq/cppc_cpufreq.c b/drivers/cpufreq/cppc_cpufreq.c index f0a8bb2c59e5..24eaf0ec344d 100644 --- a/drivers/cpufreq/cppc_cpufreq.c +++ b/drivers/cpufreq/cppc_cpufreq.c @@ -441,6 +441,14 @@ static unsigned int cppc_cpufreq_get_transition_delay_us(unsigned int cpu) } return cppc_get_transition_latency(cpu) / NSEC_PER_USEC; } +#else +static unsigned int cppc_cpufreq_get_transition_delay_us(unsigned int cpu) +{ + return cppc_get_transition_latency(cpu) / NSEC_PER_USEC; +} +#endif + +#if defined(CONFIG_ARM64) && defined(CONFIG_ENERGY_MODEL) static DEFINE_PER_CPU(unsigned int, efficiency_class); static void cppc_cpufreq_register_em(struct cpufreq_policy *policy); @@ -621,21 +629,12 @@ static void cppc_cpufreq_register_em(struct cpufreq_policy *policy) } #else - -static unsigned int cppc_cpufreq_get_transition_delay_us(unsigned int cpu) -{ - return cppc_get_transition_latency(cpu) / NSEC_PER_USEC; -} static int populate_efficiency_class(void) { return 0; } -static void cppc_cpufreq_register_em(struct cpufreq_policy *policy) -{ -} #endif - static struct cppc_cpudata *cppc_cpufreq_get_cpu_data(unsigned int cpu) { struct cppc_cpudata *cpu_data;
Building the cppc_cpufreq driver with for arm64 with CONFIG_ENERGY_MODEL=n triggers the following warnings: drivers/cpufreq/cppc_cpufreq.c:550:12: error: ‘cppc_get_cpu_cost’ defined but not used [-Werror=unused-function] 550 | static int cppc_get_cpu_cost(struct device *cpu_dev, unsigned long KHz, | ^~~~~~~~~~~~~~~~~ drivers/cpufreq/cppc_cpufreq.c:481:12: error: ‘cppc_get_cpu_power’ defined but not used [-Werror=unused-function] 481 | static int cppc_get_cpu_power(struct device *cpu_dev, | ^~~~~~~~~~~~~~~~~~ Move the Energy Model related functions into specific guards. This allows to fix the warning and prevent doing extra work when the Energy Model is not present. Fixes: 740fcdc2c20e ("cpufreq: CPPC: Register EM based on efficiency class information") Reported-by: Shaokun Zhang <zhangshaokun@hisilicon.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> --- drivers/cpufreq/cppc_cpufreq.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-)