diff options
author | Larry Finger <Larry.Finger@lwfinger.net> | 2012-12-28 20:55:20 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-01-03 07:11:19 -0500 |
commit | 1e15f295408e21873dba5fdf17efcbd05fcb6729 (patch) | |
tree | f93b61d83fe64a554634e7ced2f5d34c5d79d9d9 /drivers/cpufreq | |
parent | b5811bc469c0dbebb4f947800b9b234a9c0a68dc (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/Kconfig | 5 | ||||
-rw-r--r-- | drivers/cpufreq/Makefile | 5 |
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 | |||
20 | config CPU_FREQ_TABLE | 20 | config CPU_FREQ_TABLE |
21 | tristate | 21 | tristate |
22 | 22 | ||
23 | config CPU_FREQ_GOV_COMMON | ||
24 | bool | ||
25 | |||
23 | config CPU_FREQ_STAT | 26 | config 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 | |||
141 | config CPU_FREQ_GOV_ONDEMAND | 144 | config 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 | |||
159 | config CPU_FREQ_GOV_CONSERVATIVE | 163 | config 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 | |||
7 | obj-$(CONFIG_CPU_FREQ_GOV_PERFORMANCE) += cpufreq_performance.o | 7 | obj-$(CONFIG_CPU_FREQ_GOV_PERFORMANCE) += cpufreq_performance.o |
8 | obj-$(CONFIG_CPU_FREQ_GOV_POWERSAVE) += cpufreq_powersave.o | 8 | obj-$(CONFIG_CPU_FREQ_GOV_POWERSAVE) += cpufreq_powersave.o |
9 | obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE) += cpufreq_userspace.o | 9 | obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE) += cpufreq_userspace.o |
10 | obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND) += cpufreq_ondemand.o cpufreq_governor.o | 10 | obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND) += cpufreq_ondemand.o |
11 | obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE) += cpufreq_conservative.o cpufreq_governor.o | 11 | obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE) += cpufreq_conservative.o |
12 | obj-$(CONFIG_CPU_FREQ_GOV_COMMON) += cpufreq_governor.o | ||
12 | 13 | ||
13 | # CPUfreq cross-arch helpers | 14 | # CPUfreq cross-arch helpers |
14 | obj-$(CONFIG_CPU_FREQ_TABLE) += freq_table.o | 15 | obj-$(CONFIG_CPU_FREQ_TABLE) += freq_table.o |