cpufreq: Remove the weakly defined cpufreq_default_governor()

Message ID 2f00a5847708547a57920e24a2ec5e76b265cde9.1593425047.git.viresh.kumar@linaro.org
State Accepted
Commit 3a7e4fbbfd1a266ceea33e9b48f77f233ac994ac
Headers show
Series
  • cpufreq: Remove the weakly defined cpufreq_default_governor()
Related show

Commit Message

Viresh Kumar June 29, 2020, 10:04 a.m.
The default cpufreq governor is chosen with the help of a "choice"
option in the Kconfig which will always end up selecting one of the
governors and so the weakly defined definition of
cpufreq_default_governor() will never get called.

Moreover, this makes us skip the checking of the return value of that
routine as it will always be non NULL.

If the Kconfig option changes in future, then we will start getting a
link error instead (and it won't go unnoticed as in the case of the weak
definition).

Suggested-by: Quentin Perret <qperret@google.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

---
Based over the following series:
- [PATCH V4 0/3] cpufreq: Allow default governor on cmdline and fix
  locking issues

 drivers/cpufreq/cpufreq.c | 7 -------
 1 file changed, 7 deletions(-)

-- 
2.25.0.rc1.19.g042ed3e048af

Comments

Rafael J. Wysocki June 30, 2020, 6:39 p.m. | #1
On Mon, Jun 29, 2020 at 10:48 PM Viresh Kumar <viresh.kumar@linaro.org> wrote:
>

> The default cpufreq governor is chosen with the help of a "choice"

> option in the Kconfig which will always end up selecting one of the

> governors and so the weakly defined definition of

> cpufreq_default_governor() will never get called.

>

> Moreover, this makes us skip the checking of the return value of that

> routine as it will always be non NULL.

>

> If the Kconfig option changes in future, then we will start getting a

> link error instead (and it won't go unnoticed as in the case of the weak

> definition).

>

> Suggested-by: Quentin Perret <qperret@google.com>

> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

> ---

> Based over the following series:

> - [PATCH V4 0/3] cpufreq: Allow default governor on cmdline and fix

>   locking issues

>

>  drivers/cpufreq/cpufreq.c | 7 -------

>  1 file changed, 7 deletions(-)

>

> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c

> index ad94b1d47ddb..036f4cc42ede 100644

> --- a/drivers/cpufreq/cpufreq.c

> +++ b/drivers/cpufreq/cpufreq.c

> @@ -1056,11 +1056,6 @@ static int cpufreq_add_dev_interface(struct cpufreq_policy *policy)

>         return 0;

>  }

>

> -__weak struct cpufreq_governor *cpufreq_default_governor(void)

> -{

> -       return NULL;

> -}

> -

>  static int cpufreq_init_policy(struct cpufreq_policy *policy)

>  {

>         struct cpufreq_governor *gov = NULL;

> @@ -1079,8 +1074,6 @@ static int cpufreq_init_policy(struct cpufreq_policy *policy)

>

>                 if (!gov) {

>                         gov = cpufreq_default_governor();

> -                       if (!gov)

> -                               return -ENODATA;

>                         __module_get(gov->owner);

>                 }

>

> --


Applied as 5.9 material, thanks!

Patch

diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index ad94b1d47ddb..036f4cc42ede 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1056,11 +1056,6 @@  static int cpufreq_add_dev_interface(struct cpufreq_policy *policy)
 	return 0;
 }
 
-__weak struct cpufreq_governor *cpufreq_default_governor(void)
-{
-	return NULL;
-}
-
 static int cpufreq_init_policy(struct cpufreq_policy *policy)
 {
 	struct cpufreq_governor *gov = NULL;
@@ -1079,8 +1074,6 @@  static int cpufreq_init_policy(struct cpufreq_policy *policy)
 
 		if (!gov) {
 			gov = cpufreq_default_governor();
-			if (!gov)
-				return -ENODATA;
 			__module_get(gov->owner);
 		}