aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2012-12-28 20:55:20 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-01-03 07:11:19 -0500
commit1e15f295408e21873dba5fdf17efcbd05fcb6729 (patch)
treef93b61d83fe64a554634e7ced2f5d34c5d79d9d9 /drivers/cpufreq
parentb5811bc469c0dbebb4f947800b9b234a9c0a68dc (diff)
cpufreq / governor: Fix problem with cpufreq_ondemand or cpufreq_conservative
Since commit 2aacdff entitled "cpufreq: Move common part from governors to separate file", whenever the drivers that depend on this new file (cpufreq_ondemand or cpufreq_conservative) are built as modules, a new module named cpufreq_governor is created because the Makefile includes cpufreq_governor.o twice. As drivers/cpufreq/cpufreq_governor.c contains no MODULE directives, the resulting module has no license specified, which results in logging of a "module license 'unspecified' taints kernel". In addition, a number of globals are exported GPL only, and are therefore not available. This fix establishes a new boolean configuration variable that forces cpufreq_governor.o to be linked into the kernel whenever either cpufreq_ondemand or cpufreq_conservative is selected. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r--drivers/cpufreq/Kconfig5
-rw-r--r--drivers/cpufreq/Makefile5
2 files changed, 8 insertions, 2 deletions
diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index ea512f47b789..e0a899f25e37 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -20,6 +20,9 @@ if CPU_FREQ
20config CPU_FREQ_TABLE 20config CPU_FREQ_TABLE
21 tristate 21 tristate
22 22
23config CPU_FREQ_GOV_COMMON
24 bool
25
23config CPU_FREQ_STAT 26config CPU_FREQ_STAT
24 tristate "CPU frequency translation statistics" 27 tristate "CPU frequency translation statistics"
25 select CPU_FREQ_TABLE 28 select CPU_FREQ_TABLE
@@ -141,6 +144,7 @@ config CPU_FREQ_GOV_USERSPACE
141config CPU_FREQ_GOV_ONDEMAND 144config CPU_FREQ_GOV_ONDEMAND
142 tristate "'ondemand' cpufreq policy governor" 145 tristate "'ondemand' cpufreq policy governor"
143 select CPU_FREQ_TABLE 146 select CPU_FREQ_TABLE
147 select CPU_FREQ_GOV_COMMON
144 help 148 help
145 'ondemand' - This driver adds a dynamic cpufreq policy governor. 149 'ondemand' - This driver adds a dynamic cpufreq policy governor.
146 The governor does a periodic polling and 150 The governor does a periodic polling and
@@ -159,6 +163,7 @@ config CPU_FREQ_GOV_ONDEMAND
159config CPU_FREQ_GOV_CONSERVATIVE 163config CPU_FREQ_GOV_CONSERVATIVE
160 tristate "'conservative' cpufreq governor" 164 tristate "'conservative' cpufreq governor"
161 depends on CPU_FREQ 165 depends on CPU_FREQ
166 select CPU_FREQ_GOV_COMMON
162 help 167 help
163 'conservative' - this driver is rather similar to the 'ondemand' 168 'conservative' - this driver is rather similar to the 'ondemand'
164 governor both in its source code and its purpose, the difference is 169 governor both in its source code and its purpose, the difference is
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index 1f254ec087c1..fadc4d496e2f 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -7,8 +7,9 @@ obj-$(CONFIG_CPU_FREQ_STAT) += cpufreq_stats.o
7obj-$(CONFIG_CPU_FREQ_GOV_PERFORMANCE) += cpufreq_performance.o 7obj-$(CONFIG_CPU_FREQ_GOV_PERFORMANCE) += cpufreq_performance.o
8obj-$(CONFIG_CPU_FREQ_GOV_POWERSAVE) += cpufreq_powersave.o 8obj-$(CONFIG_CPU_FREQ_GOV_POWERSAVE) += cpufreq_powersave.o
9obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE) += cpufreq_userspace.o 9obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE) += cpufreq_userspace.o
10obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND) += cpufreq_ondemand.o cpufreq_governor.o 10obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND) += cpufreq_ondemand.o
11obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE) += cpufreq_conservative.o cpufreq_governor.o 11obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE) += cpufreq_conservative.o
12obj-$(CONFIG_CPU_FREQ_GOV_COMMON) += cpufreq_governor.o
12 13
13# CPUfreq cross-arch helpers 14# CPUfreq cross-arch helpers
14obj-$(CONFIG_CPU_FREQ_TABLE) += freq_table.o 15obj-$(CONFIG_CPU_FREQ_TABLE) += freq_table.o