Skip to contentSkip to conversation

Missing module license in arm_big_little

PATCH New Andreas Schwab 3 participants 6 messages Jul 31, 2014 – Aug 7, 2014 CPU frequency scaling framework

lore
Share & tools
lore
#0 lore raw
$ dmesg | grep arm_big_little
[   22.596727] arm_big_little: module license 'unspecified' taints kernel.
[   22.608717] arm_big_little: Unknown symbol cpufreq_register_driver (err 0)
[   22.615565] arm_big_little: Unknown symbol dev_pm_opp_init_cpufreq_table (err 0)
[   22.622927] arm_big_little: Unknown symbol cpufreq_unregister_driver (err 0)
[   22.629935] arm_big_little: Unknown symbol clk_set_rate (err 0)
[   22.648419] arm_big_little: Unknown symbol cpufreq_table_validate_and_show (err 0)
[   22.655943] arm_big_little: Unknown symbol cpufreq_generic_attr (err 0)
[   22.662551] arm_big_little: Unknown symbol dev_pm_opp_free_cpufreq_table (err 0)
[   22.669886] arm_big_little: Unknown symbol clk_get_rate (err 0)
[   22.675777] arm_big_little: Unknown symbol get_cpu_device (err 0)
[   22.681840] arm_big_little: Unknown symbol cpu_topology (err 0)
[   22.687722] arm_big_little: Unknown symbol cpufreq_generic_frequency_table_verify (err 0)

Andreas.

Signature · 3 lines
Andreas Schwab, SUSE Labs, schwab at suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
#1 lore raw

PATCH 1/1 cpufreq: arm_big_little: fix module license spec

Having no license specification in a module taints the kernel during load with:

arm_big_little: module license 'unspecified' taints kernel.

and also the linker doesn't allow it to make use of GPL-exported symbols which in this case also results in errors like:

arm_big_little: Unknown symbol cpufreq_register_driver (err 0)

. The header of the driver specifies a GPL v2 license, so note that accordingly. While at it also add a description and an author and fix the license in a companion file to explicit v2.

---
 drivers/cpufreq/arm_big_little.c    | 4 ++++
 drivers/cpufreq/arm_big_little_dt.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
drivers/cpufreq/arm_big_little.c +4 -0
index 1f4d4e315057..b600f3107bef 100644
@@ -593,3 +593,7 @@ void bL_cpufreq_unregister(struct cpufreq_arm_bL_ops *ops)
 	arm_bL_ops = NULL;
 }
 EXPORT_SYMBOL_GPL(bL_cpufreq_unregister);
+
+MODULE_AUTHOR("Viresh Kumar <[email protected]>");
+MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver");
+MODULE_LICENSE("GPL v2");
drivers/cpufreq/arm_big_little_dt.c +1 -1
index 8d9d59108906..4550f6976768 100644
@@ -114,4 +114,4 @@ module_platform_driver(generic_bL_platdrv);
 
 MODULE_AUTHOR("Viresh Kumar <[email protected]>");
 MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver via DT");
-MODULE_LICENSE("GPL");
+MODULE_LICENSE("GPL v2");
Signature · 1 line
2.0.1
maintainer
#2 lore raw

PATCH 1/1 cpufreq: arm_big_little: fix module license spec

Quoted 38 lines · Uwe Kleine-K?nig

Having no license specification in a module taints the kernel during load with:

arm_big_little: module license 'unspecified' taints kernel.

and also the linker doesn't allow it to make use of GPL-exported symbols which in this case also results in errors like:

arm_big_little: Unknown symbol cpufreq_register_driver (err 0)

. The header of the driver specifies a GPL v2 license, so note that accordingly. While at it also add a description and an author and fix the license in a companion file to explicit v2.

---
 drivers/cpufreq/arm_big_little.c    | 4 ++++
 drivers/cpufreq/arm_big_little_dt.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
drivers/cpufreq/arm_big_little.c +4 -0
index 1f4d4e315057..b600f3107bef 100644
@@ -593,3 +593,7 @@ void bL_cpufreq_unregister(struct cpufreq_arm_bL_ops *ops)
        arm_bL_ops = NULL;
 }
 EXPORT_SYMBOL_GPL(bL_cpufreq_unregister);
+
+MODULE_AUTHOR("Viresh Kumar <[email protected]>");
+MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver");
+MODULE_LICENSE("GPL v2");
drivers/cpufreq/arm_big_little_dt.c +0 -0
index 8d9d59108906..4550f6976768 100644

drivers/cpufreq/arm_big_little_dt.c module_platform_driver(generic_bL_platdrv); · line 117

Quoted 5 lines
drivers/cpufreq/arm_big_little_dt.c +1 -1
@@ -114,4 +114,4 @@ module_platform_driver(generic_bL_platdrv);
 
 MODULE_AUTHOR("Viresh Kumar <[email protected]>");
 MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver via DT");
-MODULE_LICENSE("GPL");
+MODULE_LICENSE("GPL v2");

Thanks..

#3 lore raw

PATCH 1/1 cpufreq: arm_big_little: fix module license spec

In reply to Uwe Kleine-König
Quoted 26 lines · Uwe Kleine-K?nig

Having no license specification in a module taints the kernel during load with:

arm_big_little: module license 'unspecified' taints kernel.

and also the linker doesn't allow it to make use of GPL-exported symbols which in this case also results in errors like:

arm_big_little: Unknown symbol cpufreq_register_driver (err 0)

. The header of the driver specifies a GPL v2 license, so note that accordingly. While at it also add a description and an author and fix the license in a companion file to explicit v2.

---
 drivers/cpufreq/arm_big_little.c    | 4 ++++
 drivers/cpufreq/arm_big_little_dt.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
drivers/cpufreq/arm_big_little.c +0 -0
index 1f4d4e315057..b600f3107bef 100644

drivers/cpufreq/arm_big_little.c void bL_cpufreq_unregister(struct cpufreq_arm_bL_ops *ops) · line 599

Quoted 7 lines
drivers/cpufreq/arm_big_little.c +4 -0
@@ -593,3 +593,7 @@ void bL_cpufreq_unregister(struct cpufreq_arm_bL_ops *ops)
 	arm_bL_ops = NULL;
 }
 EXPORT_SYMBOL_GPL(bL_cpufreq_unregister);
+
+MODULE_AUTHOR("Viresh Kumar <[email protected]>");
+MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver");
+MODULE_LICENSE("GPL v2");

drivers/cpufreq/arm_big_little.c:613:15: error: expected declaration specifiers or ?...? before string constant

 MODULE_AUTHOR("Viresh Kumar <[email protected]>");
               ^
drivers/cpufreq/arm_big_little.c:614:20: error: expected declaration specifiers or ?...? before string constant
 MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver");
                    ^
drivers/cpufreq/arm_big_little.c:615:16: error: expected declaration specifiers or ?...? before string constant
 MODULE_LICENSE("GPL v2");
                ^

Andreas.

Signature · 3 lines
Andreas Schwab, SUSE Labs, schwab at suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
#4 lore raw

PATCH 1/1 cpufreq: arm_big_little: fix module license spec

Quoted 37 lines · Andreas Schwab
Quoted 26 lines · Uwe Kleine-K?nig

Having no license specification in a module taints the kernel during load with:

arm_big_little: module license 'unspecified' taints kernel.

and also the linker doesn't allow it to make use of GPL-exported symbols which in this case also results in errors like:

arm_big_little: Unknown symbol cpufreq_register_driver (err 0)

. The header of the driver specifies a GPL v2 license, so note that accordingly. While at it also add a description and an author and fix the license in a companion file to explicit v2.

---
 drivers/cpufreq/arm_big_little.c    | 4 ++++
 drivers/cpufreq/arm_big_little_dt.c | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
drivers/cpufreq/arm_big_little.c +0 -0
index 1f4d4e315057..b600f3107bef 100644

drivers/cpufreq/arm_big_little.c void bL_cpufreq_unregister(struct cpufreq_arm_bL_ops *ops) · line 599

Quoted 7 lines
drivers/cpufreq/arm_big_little.c +4 -0
@@ -593,3 +593,7 @@ void bL_cpufreq_unregister(struct cpufreq_arm_bL_ops *ops)
 	arm_bL_ops = NULL;
 }
 EXPORT_SYMBOL_GPL(bL_cpufreq_unregister);
+
+MODULE_AUTHOR("Viresh Kumar <[email protected]>");
+MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver");
+MODULE_LICENSE("GPL v2");

drivers/cpufreq/arm_big_little.c:613:15: error: expected declaration specifiers or ?...? before string constant

Quoted 9 lines
 MODULE_AUTHOR("Viresh Kumar <[email protected]>");
               ^
drivers/cpufreq/arm_big_little.c:614:20: error: expected declaration specifiers or ?...? before string constant
 MODULE_DESCRIPTION("Generic ARM big LITTLE cpufreq driver");
                    ^
drivers/cpufreq/arm_big_little.c:615:16: error: expected declaration specifiers or ?...? before string constant
 MODULE_LICENSE("GPL v2");
                ^

Does adding

	#include <linux/module.h>

in that file fix the problem?

Uwe

Signature · 2 lines
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
#5 lore raw

PATCH 1/1 cpufreq: arm_big_little: fix module license spec

Quoted 5 lines · Uwe Kleine-K?nig

Does adding

	#include <linux/module.h>

in that file fix the problem?

Yes, it does.

Andreas.

Signature · 3 lines
Andreas Schwab, SUSE Labs, schwab at suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."