diff mbox

[V2] Fix problem with cpufreq_ondemand or cpufreq_conservative

Message ID 50DE378D.4090008@lwfinger.net (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Larry Finger Dec. 29, 2012, 12:21 a.m. UTC
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. It seems that kmake is smart enough to create a separate module whenever more than one 
module includes the same object file. 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.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---

V2 is the more complicated version that makes clear what is happening.

Larry
---

  Kconfig            |    5 +++++
  Makefile           |    5 +++--
  cpufreq_governor.c |    5 +++++
  3 files changed, 13 insertions(+), 2 deletions(-)
---


--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Viresh Kumar Jan. 2, 2013, 3:56 a.m. UTC | #1
I know, V4 is already accepted, but i had an small comment with one
of your earlier change, which doesn't exist anymore :)

On Sat, Dec 29, 2012 at 5:51 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote:
> Index: wireless-testing-new/drivers/cpufreq/cpufreq_governor.c

How are you creating these patches? wireless-testing-new (linux directory names)
aren't supposed to be present here.

> ===================================================================
> --- wireless-testing-new.orig/drivers/cpufreq/cpufreq_governor.c
> +++ wireless-testing-new/drivers/cpufreq/cpufreq_governor.c
> @@ -316,3 +316,8 @@ second_time:
>         return 0;
>  }
>  EXPORT_SYMBOL_GPL(cpufreq_governor_dbs);
> +
> +MODULE_AUTHOR("Alexander Clouter <alex@digriz.org.uk>");

You shouldn't be adding yourself as author here :)

MODULE_AUTHOR("Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>");
MODULE_AUTHOR("Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>");
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Larry Finger Jan. 2, 2013, 4:10 a.m. UTC | #2
On 01/01/2013 09:56 PM, Viresh Kumar wrote:
> I know, V4 is already accepted, but i had an small comment with one
> of your earlier change, which doesn't exist anymore :)
>
> On Sat, Dec 29, 2012 at 5:51 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote:
>> Index: wireless-testing-new/drivers/cpufreq/cpufreq_governor.c
>
> How are you creating these patches? wireless-testing-new (linux directory names)
> aren't supposed to be present here.
>
>> ===================================================================
>> --- wireless-testing-new.orig/drivers/cpufreq/cpufreq_governor.c
>> +++ wireless-testing-new/drivers/cpufreq/cpufreq_governor.c
>> @@ -316,3 +316,8 @@ second_time:
>>          return 0;
>>   }
>>   EXPORT_SYMBOL_GPL(cpufreq_governor_dbs);
>> +
>> +MODULE_AUTHOR("Alexander Clouter <alex@digriz.org.uk>");
>
> You shouldn't be adding yourself as author here :)
>
> MODULE_AUTHOR("Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>");
> MODULE_AUTHOR("Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>");

I was not adding myself - my name is not Alexander Clouter. When we were 
creating a new module, I got the author from the module that cpufreq_governor 
was originally a part. Perhaps I got the name wrong.

Thanks for the review mentioned in the next Email.

Larry


--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Viresh Kumar Jan. 2, 2013, 4:12 a.m. UTC | #3
On 2 January 2013 09:40, Larry Finger <Larry.Finger@lwfinger.net> wrote:
>>> Index: wireless-testing-new/drivers/cpufreq/cpufreq_governor.c
>>
>>
>> How are you creating these patches? wireless-testing-new (linux directory
>> names)
>> aren't supposed to be present here.

You Missed this one?

> I was not adding myself - my name is not Alexander Clouter. When we were
> creating a new module, I got the author from the module that
> cpufreq_governor was originally a part. Perhaps I got the name wrong.

Err.. I read it wrong... sorry :)
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

Index: wireless-testing-new/drivers/cpufreq/Makefile
===================================================================
--- wireless-testing-new.orig/drivers/cpufreq/Makefile
+++ wireless-testing-new/drivers/cpufreq/Makefile
@@ -7,8 +7,9 @@  obj-$(CONFIG_CPU_FREQ_STAT)
  obj-$(CONFIG_CPU_FREQ_GOV_PERFORMANCE)	+= cpufreq_performance.o
  obj-$(CONFIG_CPU_FREQ_GOV_POWERSAVE)	+= cpufreq_powersave.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_CONSERVATIVE)	+= cpufreq_conservative.o cpufreq_governor.o
+obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND)	+= cpufreq_ondemand.o
+obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE)	+= cpufreq_conservative.o
+obj-$(CONFIG_CPU_FREQ_GOVERNOR)		+= cpufreq_governor.o

  # CPUfreq cross-arch helpers
  obj-$(CONFIG_CPU_FREQ_TABLE)		+= freq_table.o
Index: wireless-testing-new/drivers/cpufreq/Kconfig
===================================================================
--- wireless-testing-new.orig/drivers/cpufreq/Kconfig
+++ wireless-testing-new/drivers/cpufreq/Kconfig
@@ -20,6 +20,9 @@  if CPU_FREQ
  config CPU_FREQ_TABLE
  	tristate

+config CPU_FREQ_GOVERNOR
+	tristate
+
  config CPU_FREQ_STAT
  	tristate "CPU frequency translation statistics"
  	select CPU_FREQ_TABLE
@@ -141,6 +144,7 @@  config CPU_FREQ_GOV_USERSPACE
  config CPU_FREQ_GOV_ONDEMAND
  	tristate "'ondemand' cpufreq policy governor"
  	select CPU_FREQ_TABLE
+	select CPU_FREQ_GOVERNOR
  	help
  	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
  	  The governor does a periodic polling and
@@ -159,6 +163,7 @@  config CPU_FREQ_GOV_ONDEMAND
  config CPU_FREQ_GOV_CONSERVATIVE
  	tristate "'conservative' cpufreq governor"
  	depends on CPU_FREQ
+	select CPU_FREQ_GOVERNOR
  	help
  	  'conservative' - this driver is rather similar to the 'ondemand'
  	  governor both in its source code and its purpose, the difference is
Index: wireless-testing-new/drivers/cpufreq/cpufreq_governor.c
===================================================================
--- wireless-testing-new.orig/drivers/cpufreq/cpufreq_governor.c
+++ wireless-testing-new/drivers/cpufreq/cpufreq_governor.c
@@ -316,3 +316,8 @@  second_time:
  	return 0;
  }
  EXPORT_SYMBOL_GPL(cpufreq_governor_dbs);
+
+MODULE_AUTHOR("Alexander Clouter <alex@digriz.org.uk>");
+MODULE_DESCRIPTION("'cpufreq_governor' - A mini-module containing common code "
+		   "for cpufreq_conservative and cpufreq_ondemand");
+MODULE_LICENSE("GPL");