Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e15f295 authored by Larry Finger's avatar Larry Finger Committed by Rafael J. Wysocki
Browse files

cpufreq / governor: Fix problem with cpufreq_ondemand or cpufreq_conservative



Since commit 2aacdfff 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: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Reviewed-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent b5811bc4
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -20,6 +20,9 @@ if CPU_FREQ
config CPU_FREQ_TABLE
config CPU_FREQ_TABLE
	tristate
	tristate


config CPU_FREQ_GOV_COMMON
	bool

config CPU_FREQ_STAT
config CPU_FREQ_STAT
	tristate "CPU frequency translation statistics"
	tristate "CPU frequency translation statistics"
	select CPU_FREQ_TABLE
	select CPU_FREQ_TABLE
@@ -141,6 +144,7 @@ config CPU_FREQ_GOV_USERSPACE
config CPU_FREQ_GOV_ONDEMAND
config CPU_FREQ_GOV_ONDEMAND
	tristate "'ondemand' cpufreq policy governor"
	tristate "'ondemand' cpufreq policy governor"
	select CPU_FREQ_TABLE
	select CPU_FREQ_TABLE
	select CPU_FREQ_GOV_COMMON
	help
	help
	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
	  The governor does a periodic polling and 
	  The governor does a periodic polling and 
@@ -159,6 +163,7 @@ config CPU_FREQ_GOV_ONDEMAND
config CPU_FREQ_GOV_CONSERVATIVE
config CPU_FREQ_GOV_CONSERVATIVE
	tristate "'conservative' cpufreq governor"
	tristate "'conservative' cpufreq governor"
	depends on CPU_FREQ
	depends on CPU_FREQ
	select CPU_FREQ_GOV_COMMON
	help
	help
	  'conservative' - this driver is rather similar to the 'ondemand'
	  'conservative' - this driver is rather similar to the 'ondemand'
	  governor both in its source code and its purpose, the difference is
	  governor both in its source code and its purpose, the difference is
+3 −2
Original line number Original line Diff line number Diff line
@@ -7,8 +7,9 @@ obj-$(CONFIG_CPU_FREQ_STAT) += cpufreq_stats.o
obj-$(CONFIG_CPU_FREQ_GOV_PERFORMANCE)	+= cpufreq_performance.o
obj-$(CONFIG_CPU_FREQ_GOV_PERFORMANCE)	+= cpufreq_performance.o
obj-$(CONFIG_CPU_FREQ_GOV_POWERSAVE)	+= cpufreq_powersave.o
obj-$(CONFIG_CPU_FREQ_GOV_POWERSAVE)	+= cpufreq_powersave.o
obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE)	+= cpufreq_userspace.o
obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE)	+= cpufreq_userspace.o
obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND)	+= cpufreq_ondemand.o cpufreq_governor.o
obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND)	+= cpufreq_ondemand.o
obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE)	+= cpufreq_conservative.o cpufreq_governor.o
obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE)	+= cpufreq_conservative.o
obj-$(CONFIG_CPU_FREQ_GOV_COMMON)		+= cpufreq_governor.o


# CPUfreq cross-arch helpers
# CPUfreq cross-arch helpers
obj-$(CONFIG_CPU_FREQ_TABLE)		+= freq_table.o
obj-$(CONFIG_CPU_FREQ_TABLE)		+= freq_table.o