]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
soc: meson: enable building drivers as modules
authorKevin Hilman <khilman@baylibre.com>
Mon, 19 Oct 2020 22:46:49 +0000 (15:46 -0700)
committerKevin Hilman <khilman@baylibre.com>
Mon, 26 Oct 2020 18:33:43 +0000 (11:33 -0700)
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
drivers/soc/amlogic/meson-clk-measure.c
drivers/soc/amlogic/meson-ee-pwrc.c
drivers/soc/amlogic/meson-gx-pwrc-vpu.c
drivers/soc/amlogic/meson-secure-pwrc.c

index 08a27d9cbc7fdace73ae220914373f25baac05ad..174a9b01146122870582e042ff96b7c51dd370d6 100644 (file)
@@ -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
index 0fa47d77577dd4b179bb093033ff88f708257472..e1957476a0068baccce205b5f0459fee489c25ec 100644 (file)
@@ -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");
index 5164a4dc23521b4525dbd55de0d909c62bdea29a..ed7d2fbb47f2dfa11b59ce947c4d2b3149137b1f 100644 (file)
@@ -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");
index 21b4bc811c00744a99ee7597a9d23829efa3df5b..8790627e3098edded6c0d443b78b2118d64376b6 100644 (file)
@@ -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");
index 5fb29a4758796dbf6c25bcd991fd05169c74d6ff..59bd195fa9c9207b6fe531e4cbf03c1117efa8d2 100644 (file)
@@ -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 MIT/GPL");