Missing module license in arm_big_little
$ 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."
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
@@ -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
@@ -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
Viresh Kumar
maintainerPATCH 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 symbolcpufreq_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.
Reported-by Andreas Schwab <[email protected]>Signed-off-by Uwe Kleine-K?nig <[email protected]>--- 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@@ -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
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..
PATCH 1/1 cpufreq: arm_big_little: fix module license spec
In reply to Uwe Kleine-KönigQuoted 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 symbolcpufreq_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.
Reported-by Andreas Schwab <[email protected]>Signed-off-by Uwe Kleine-K?nig <[email protected]>--- 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
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."
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 symbolcpufreq_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.
Reported-by Andreas Schwab <[email protected]>Signed-off-by Uwe Kleine-K?nig <[email protected]>--- 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
-0drivers/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/ |
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."