[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f2b9386a-16dd-bd03-4972-aaa026f72c03@hisilicon.com>
Date: Mon, 30 May 2022 19:55:55 +0800
From: Shaokun Zhang <zhangshaokun@...ilicon.com>
To: Pierre Gondois <pierre.gondois@....com>,
<linux-kernel@...r.kernel.org>
CC: <Ionela.Voinescu@....com>, <Dietmar.Eggemann@....com>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Viresh Kumar <viresh.kumar@...aro.org>,
<linux-pm@...r.kernel.org>
Subject: Re: [PATCH -next v2 1/1] cpufreq: CPPC: Fix unused-function warning
Hi,
It works for me on compile when CONFIG_ENERGY_MODEL=n, please feel free to add:
Tested-by: Shaokun Zhang <zhangshaokun@...ilicon.com>
Thanks,
Shaokun
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@...ilicon.com>
> Signed-off-by: Pierre Gondois <pierre.gondois@....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;
>
Powered by blists - more mailing lists