Skip to contentSkip to conversation

cpufreq: Remove unused function __cpufreq_driver_getavg

PATCH Superseded Stratos Karafotis 2 participants 4 messages Jun 3, 2013 – Jun 5, 2013 CPU frequency scaling framework

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 2/3 cpufreq: Remove unused function __cpufreq_driver_getavg

Calculation of frequency target in ondemand governor changed and it is independent from measured average frequency.

Remove unused__cpufreq_driver_getavg function and getavg member from cpufreq_driver struct. Also, remove the callback getavg in acpi_cpufreq_driver.

---
 drivers/cpufreq/Makefile       |  2 +-
 drivers/cpufreq/acpi-cpufreq.c |  5 -----
 drivers/cpufreq/cpufreq.c      | 12 ------------
 include/linux/cpufreq.h        |  6 ------
 4 files changed, 1 insertion(+), 24 deletions(-)
drivers/cpufreq/Makefile +1 -1
index 6ad0b91..aebd4ef 100644
@@ -23,7 +23,7 @@ obj-$(CONFIG_GENERIC_CPUFREQ_CPU0)	+= cpufreq-cpu0.o
 # powernow-k8 can load then. ACPI is preferred to all other hardware-specific drivers.
 # speedstep-* is preferred over p4-clockmod.
 
-obj-$(CONFIG_X86_ACPI_CPUFREQ)		+= acpi-cpufreq.o mperf.o
+obj-$(CONFIG_X86_ACPI_CPUFREQ)		+= acpi-cpufreq.o
 obj-$(CONFIG_X86_POWERNOW_K8)		+= powernow-k8.o
 obj-$(CONFIG_X86_PCC_CPUFREQ)		+= pcc-cpufreq.o
 obj-$(CONFIG_X86_POWERNOW_K6)		+= powernow-k6.o
drivers/cpufreq/acpi-cpufreq.c +0 -5
index 17e3496..d3a5f35 100644
@@ -45,7 +45,6 @@
 #include <asm/msr.h>
 #include <asm/processor.h>
 #include <asm/cpufeature.h>
-#include "mperf.h"
 
 MODULE_AUTHOR("Paul Diefenbaugh, Dominik Brodowski");
 MODULE_DESCRIPTION("ACPI Processor P-States Driver");
@@ -842,10 +841,6 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
 	/* notify BIOS that we exist */
 	acpi_processor_notify_smm(THIS_MODULE);
 
-	/* Check for APERF/MPERF support in hardware */
-	if (boot_cpu_has(X86_FEATURE_APERFMPERF))
-		acpi_cpufreq_driver.getavg = cpufreq_get_measured_perf;
-
 	pr_debug("CPU%u - ACPI performance management activated.\n", cpu);
 	for (i = 0; i < perf->state_count; i++)
 		pr_debug("     %cP%d: %d MHz, %d mW, %d uS\n",
drivers/cpufreq/cpufreq.c +0 -12
index f8c2860..a61aacb 100644
@@ -1584,18 +1584,6 @@ fail:
 }
 EXPORT_SYMBOL_GPL(cpufreq_driver_target);
 
-int __cpufreq_driver_getavg(struct cpufreq_policy *policy, unsigned int cpu)
-{
-	if (cpufreq_disabled())
-		return 0;
-
-	if (!cpufreq_driver->getavg)
-		return 0;
-
-	return cpufreq_driver->getavg(policy, cpu);
-}
-EXPORT_SYMBOL_GPL(__cpufreq_driver_getavg);
-
 /*
  * when "event" is CPUFREQ_GOV_LIMITS
  */
include/linux/cpufreq.h +0 -6
index d939056..50f19ad 100644
@@ -215,10 +215,6 @@ extern int __cpufreq_driver_target(struct cpufreq_policy *policy,
 				   unsigned int target_freq,
 				   unsigned int relation);
 
-
-extern int __cpufreq_driver_getavg(struct cpufreq_policy *policy,
-				   unsigned int cpu);
-
 int cpufreq_register_governor(struct cpufreq_governor *governor);
 void cpufreq_unregister_governor(struct cpufreq_governor *governor);
 
@@ -258,8 +254,6 @@ struct cpufreq_driver {
 	unsigned int	(*get)	(unsigned int cpu);
 
 	/* optional */
-	unsigned int (*getavg)	(struct cpufreq_policy *policy,
-				 unsigned int cpu);
 	int	(*bios_limit)	(int cpu, unsigned int *limit);
 
 	int	(*exit)		(struct cpufreq_policy *policy);
Signature · 1 line
1.8.1.4
maintainer
#1 lore raw
Quoted 1 line · Stratos Karafotis

Calculation of frequency target in ondemand governor changed and it is

s/frequency target/target frequency

Quoted 19 lines

independent from measured average frequency.

Remove unused__cpufreq_driver_getavg function and getavg member from cpufreq_driver struct. Also, remove the callback getavg in acpi_cpufreq_driver.

---
 drivers/cpufreq/Makefile       |  2 +-
 drivers/cpufreq/acpi-cpufreq.c |  5 -----
 drivers/cpufreq/cpufreq.c      | 12 ------------
 include/linux/cpufreq.h        |  6 ------
 4 files changed, 1 insertion(+), 24 deletions(-)
drivers/cpufreq/Makefile +0 -0
index 6ad0b91..aebd4ef 100644

drivers/cpufreq/Makefile obj-$(CONFIG_GENERIC_CPUFREQ_CPU0) += cpufreq-cpu0.o · line 26

Quoted 4 lines
drivers/cpufreq/Makefile +0 -1
@@ -23,7 +23,7 @@ obj-$(CONFIG_GENERIC_CPUFREQ_CPU0)    += cpufreq-cpu0.o
 # powernow-k8 can load then. ACPI is preferred to all other hardware-specific drivers.
 # speedstep-* is preferred over p4-clockmod.
 
-obj-$(CONFIG_X86_ACPI_CPUFREQ)         += acpi-cpufreq.o mperf.o

Should this be done in 3/3 ?

#2 lore raw
Quoted 4 lines · Viresh Kumar
Quoted 1 line · Stratos Karafotis

Calculation of frequency target in ondemand governor changed and it is

s/frequency target/target frequency

I will change it also in 3/3 that I use the same.

Quoted 22 lines
Quoted 22 lines

independent from measured average frequency.

Remove unused__cpufreq_driver_getavg function and getavg member from cpufreq_driver struct. Also, remove the callback getavg in acpi_cpufreq_driver.

---
  drivers/cpufreq/Makefile       |  2 +-
  drivers/cpufreq/acpi-cpufreq.c |  5 -----
  drivers/cpufreq/cpufreq.c      | 12 ------------
  include/linux/cpufreq.h        |  6 ------
  4 files changed, 1 insertion(+), 24 deletions(-)
drivers/cpufreq/Makefile +0 -0
index 6ad0b91..aebd4ef 100644
@@ -23,7 +23,7 @@ obj-$(CONFIG_GENERIC_CPUFREQ_CPU0)    += cpufreq-cpu0.o
  # powernow-k8 can load then. ACPI is preferred to all other hardware-specific drivers.
  # speedstep-* is preferred over p4-clockmod.
 
Quoted 4 lines

drivers/cpufreq/Makefile obj-$(CONFIG_GENERIC_CPUFREQ_CPU0) += cpufreq-cpu0.o · line 26

Quoted 1 line
drivers/cpufreq/Makefile +0 -1
-obj-$(CONFIG_X86_ACPI_CPUFREQ)         += acpi-cpufreq.o mperf.o

Should this be done in 3/3 ?

acpi-cpufreq does not use mperf after 2/3. Why should we compile it with CONFIG_X86_ACPI_CPUFREQ?
Do you want me to move the change in 3/3?

Thanks,
Stratos

maintainer
#3 lore raw
Quoted 7 lines · Stratos Karafotis
Quoted 2 lines · Viresh Kumar

Should this be done in 3/3 ?

acpi-cpufreq does not use mperf after 2/3. Why should we compile it with CONFIG_X86_ACPI_CPUFREQ?
Do you want me to move the change in 3/3?

I somehow feel now that 3/3 should come before 2/3 and then this change should be merged into it. And at the end we can have this patch as 3/3..

What do you say? core should go last and users/drivers must go first.