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 | |
| 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>
| -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 |
