diff mbox series

[2/2] soc: meson: enable building drivers as modules

Message ID 20201019224649.14302-2-khilman@baylibre.com (mailing list archive)
State New, archived
Headers show
Series [1/2] soc: mx-socinfo: only build for arm | expand

Commit Message

Kevin Hilman Oct. 19, 2020, 10:46 p.m. UTC
Enable SoC drivers for 64-bit Amlogic SoCs to be built as modules.

Signed-off-by: Kevin Hilman <khilman@baylibre.com>
---
 drivers/soc/amlogic/Kconfig             | 8 ++++----
 drivers/soc/amlogic/meson-clk-measure.c | 5 ++++-
 drivers/soc/amlogic/meson-ee-pwrc.c     | 5 ++++-
 drivers/soc/amlogic/meson-gx-pwrc-vpu.c | 5 ++++-
 drivers/soc/amlogic/meson-secure-pwrc.c | 5 ++++-
 5 files changed, 20 insertions(+), 8 deletions(-)

Comments

Martin Blumenstingl Oct. 20, 2020, 7:44 p.m. UTC | #1
Hi Kevin,

On Tue, Oct 20, 2020 at 12:47 AM Kevin Hilman <khilman@baylibre.com> wrote:
[...]
> diff --git a/drivers/soc/amlogic/meson-secure-pwrc.c b/drivers/soc/amlogic/meson-secure-pwrc.c
> index 5fb29a475879..2dfcb7b6e664 100644
> --- a/drivers/soc/amlogic/meson-secure-pwrc.c
> +++ b/drivers/soc/amlogic/meson-secure-pwrc.c
> @@ -13,6 +13,7 @@
>  #include <dt-bindings/power/meson-a1-power.h>
>  #include <linux/arm-smccc.h>
>  #include <linux/firmware/meson/meson_sm.h>
> +#include <linux/module.h>
>
>  #define PWRC_ON                1
>  #define PWRC_OFF       0
> @@ -193,6 +194,7 @@ static const struct of_device_id meson_secure_pwrc_match_table[] = {
>         },
>         { /* sentinel */ }
>  };
> +MODULE_DEVICE_TABLE(of, meson_secure_pwrc_match_table);
>
>  static struct platform_driver meson_secure_pwrc_driver = {
>         .probe = meson_secure_pwrc_probe,
> @@ -201,4 +203,5 @@ static struct platform_driver meson_secure_pwrc_driver = {
>                 .of_match_table = meson_secure_pwrc_match_table,
>         },
>  };
> -builtin_platform_driver(meson_secure_pwrc_driver);
> +module_platform_driver(meson_secure_pwrc_driver);
> +MODULE_LICENSE("Dual BSD/GPL");
This file uses SPDX-License-Identifier: (GPL-2.0+ OR MIT)
do we need to use MODULE_LICENSE("Dual MIT/GPL v2"); in this case?


Best regards,
Martin
Kevin Hilman Oct. 20, 2020, 9 p.m. UTC | #2
Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:

> Hi Kevin,
>
> On Tue, Oct 20, 2020 at 12:47 AM Kevin Hilman <khilman@baylibre.com> wrote:
> [...]
>> diff --git a/drivers/soc/amlogic/meson-secure-pwrc.c b/drivers/soc/amlogic/meson-secure-pwrc.c
>> index 5fb29a475879..2dfcb7b6e664 100644
>> --- a/drivers/soc/amlogic/meson-secure-pwrc.c
>> +++ b/drivers/soc/amlogic/meson-secure-pwrc.c
>> @@ -13,6 +13,7 @@
>>  #include <dt-bindings/power/meson-a1-power.h>
>>  #include <linux/arm-smccc.h>
>>  #include <linux/firmware/meson/meson_sm.h>
>> +#include <linux/module.h>
>>
>>  #define PWRC_ON                1
>>  #define PWRC_OFF       0
>> @@ -193,6 +194,7 @@ static const struct of_device_id meson_secure_pwrc_match_table[] = {
>>         },
>>         { /* sentinel */ }
>>  };
>> +MODULE_DEVICE_TABLE(of, meson_secure_pwrc_match_table);
>>
>>  static struct platform_driver meson_secure_pwrc_driver = {
>>         .probe = meson_secure_pwrc_probe,
>> @@ -201,4 +203,5 @@ static struct platform_driver meson_secure_pwrc_driver = {
>>                 .of_match_table = meson_secure_pwrc_match_table,
>>         },
>>  };
>> -builtin_platform_driver(meson_secure_pwrc_driver);
>> +module_platform_driver(meson_secure_pwrc_driver);
>> +MODULE_LICENSE("Dual BSD/GPL");
> This file uses SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> do we need to use MODULE_LICENSE("Dual MIT/GPL v2"); in this case?

Since the SPDX header says GPL2+, I'll change this to:
MODULE_LICENSE("Dual MIT/GPL");

Good catch, thanks!

Kevin
diff mbox series

Patch

diff --git a/drivers/soc/amlogic/Kconfig b/drivers/soc/amlogic/Kconfig
index 2d7ee1397d59..d0d67b1d192d 100644
--- a/drivers/soc/amlogic/Kconfig
+++ b/drivers/soc/amlogic/Kconfig
@@ -9,7 +9,7 @@  config MESON_CANVAS
 	  Say yes to support the canvas IP for Amlogic SoCs.
 
 config MESON_CLK_MEASURE
-	bool "Amlogic Meson SoC Clock Measure driver"
+	tristate "Amlogic Meson SoC Clock Measure driver"
 	depends on ARCH_MESON || COMPILE_TEST
 	default ARCH_MESON
 	select REGMAP_MMIO
@@ -27,7 +27,7 @@  config MESON_GX_SOCINFO
 	  information about the type, package and version.
 
 config MESON_GX_PM_DOMAINS
-	bool "Amlogic Meson GX Power Domains driver"
+	tristate "Amlogic Meson GX Power Domains driver"
 	depends on ARCH_MESON || COMPILE_TEST
 	depends on PM && OF
 	default ARCH_MESON
@@ -38,7 +38,7 @@  config MESON_GX_PM_DOMAINS
 	  Generic Power Domains.
 
 config MESON_EE_PM_DOMAINS
-	bool "Amlogic Meson Everything-Else Power Domains driver"
+	tristate "Amlogic Meson Everything-Else Power Domains driver"
 	depends on ARCH_MESON || COMPILE_TEST
 	depends on PM && OF
 	default ARCH_MESON
@@ -49,7 +49,7 @@  config MESON_EE_PM_DOMAINS
 	  Generic Power Domains.
 
 config MESON_SECURE_PM_DOMAINS
-	bool "Amlogic Meson Secure Power Domains driver"
+	tristate "Amlogic Meson Secure Power Domains driver"
 	depends on (ARCH_MESON || COMPILE_TEST) && MESON_SM
 	depends on PM && OF
 	depends on HAVE_ARM_SMCCC
diff --git a/drivers/soc/amlogic/meson-clk-measure.c b/drivers/soc/amlogic/meson-clk-measure.c
index 0fa47d77577d..e1957476a006 100644
--- a/drivers/soc/amlogic/meson-clk-measure.c
+++ b/drivers/soc/amlogic/meson-clk-measure.c
@@ -10,6 +10,7 @@ 
 #include <linux/seq_file.h>
 #include <linux/debugfs.h>
 #include <linux/regmap.h>
+#include <linux/module.h>
 
 static DEFINE_MUTEX(measure_lock);
 
@@ -681,6 +682,7 @@  static const struct of_device_id meson_msr_match_table[] = {
 	},
 	{ /* sentinel */ }
 };
+MODULE_DEVICE_TABLE(of, meson_msr_match_table);
 
 static struct platform_driver meson_msr_driver = {
 	.probe	= meson_msr_probe,
@@ -689,4 +691,5 @@  static struct platform_driver meson_msr_driver = {
 		.of_match_table	= meson_msr_match_table,
 	},
 };
-builtin_platform_driver(meson_msr_driver);
+module_platform_driver(meson_msr_driver);
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/soc/amlogic/meson-ee-pwrc.c b/drivers/soc/amlogic/meson-ee-pwrc.c
index 5164a4dc2352..ed7d2fbb47f2 100644
--- a/drivers/soc/amlogic/meson-ee-pwrc.c
+++ b/drivers/soc/amlogic/meson-ee-pwrc.c
@@ -14,6 +14,7 @@ 
 #include <linux/reset-controller.h>
 #include <linux/reset.h>
 #include <linux/clk.h>
+#include <linux/module.h>
 #include <dt-bindings/power/meson8-power.h>
 #include <dt-bindings/power/meson-axg-power.h>
 #include <dt-bindings/power/meson-g12a-power.h>
@@ -602,6 +603,7 @@  static const struct of_device_id meson_ee_pwrc_match_table[] = {
 	},
 	{ /* sentinel */ }
 };
+MODULE_DEVICE_TABLE(of, meson_ee_pwrc_match_table);
 
 static struct platform_driver meson_ee_pwrc_driver = {
 	.probe = meson_ee_pwrc_probe,
@@ -611,4 +613,5 @@  static struct platform_driver meson_ee_pwrc_driver = {
 		.of_match_table	= meson_ee_pwrc_match_table,
 	},
 };
-builtin_platform_driver(meson_ee_pwrc_driver);
+module_platform_driver(meson_ee_pwrc_driver);
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c
index 21b4bc811c00..8790627e3098 100644
--- a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c
+++ b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c
@@ -14,6 +14,7 @@ 
 #include <linux/of_device.h>
 #include <linux/reset.h>
 #include <linux/clk.h>
+#include <linux/module.h>
 
 /* AO Offsets */
 
@@ -364,6 +365,7 @@  static const struct of_device_id meson_gx_pwrc_vpu_match_table[] = {
 	},
 	{ /* sentinel */ }
 };
+MODULE_DEVICE_TABLE(of, meson_gx_pwrc_vpu_match_table);
 
 static struct platform_driver meson_gx_pwrc_vpu_driver = {
 	.probe	= meson_gx_pwrc_vpu_probe,
@@ -373,4 +375,5 @@  static struct platform_driver meson_gx_pwrc_vpu_driver = {
 		.of_match_table	= meson_gx_pwrc_vpu_match_table,
 	},
 };
-builtin_platform_driver(meson_gx_pwrc_vpu_driver);
+module_platform_driver(meson_gx_pwrc_vpu_driver);
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/soc/amlogic/meson-secure-pwrc.c b/drivers/soc/amlogic/meson-secure-pwrc.c
index 5fb29a475879..2dfcb7b6e664 100644
--- a/drivers/soc/amlogic/meson-secure-pwrc.c
+++ b/drivers/soc/amlogic/meson-secure-pwrc.c
@@ -13,6 +13,7 @@ 
 #include <dt-bindings/power/meson-a1-power.h>
 #include <linux/arm-smccc.h>
 #include <linux/firmware/meson/meson_sm.h>
+#include <linux/module.h>
 
 #define PWRC_ON		1
 #define PWRC_OFF	0
@@ -193,6 +194,7 @@  static const struct of_device_id meson_secure_pwrc_match_table[] = {
 	},
 	{ /* sentinel */ }
 };
+MODULE_DEVICE_TABLE(of, meson_secure_pwrc_match_table);
 
 static struct platform_driver meson_secure_pwrc_driver = {
 	.probe = meson_secure_pwrc_probe,
@@ -201,4 +203,5 @@  static struct platform_driver meson_secure_pwrc_driver = {
 		.of_match_table	= meson_secure_pwrc_match_table,
 	},
 };
-builtin_platform_driver(meson_secure_pwrc_driver);
+module_platform_driver(meson_secure_pwrc_driver);
+MODULE_LICENSE("Dual BSD/GPL");