bus: vexpress-config: Support building as module
authorRob Herring <robh@kernel.org>
Wed, 29 Apr 2020 20:58:24 +0000 (15:58 -0500)
committerRob Herring <robh@kernel.org>
Wed, 13 May 2020 17:42:46 +0000 (12:42 -0500)
Enable building vexpress-config driver as a module.

Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/bus/Kconfig
drivers/bus/vexpress-config.c

index 6d4e4497b59b243a2898561af1947102b8f8c05f..c16268c538314c0b0c1af42d91936519aa3b5824 100644 (file)
@@ -183,7 +183,7 @@ config UNIPHIER_SYSTEM_BUS
          needed to use on-board devices connected to UniPhier SoCs.
 
 config VEXPRESS_CONFIG
-       bool "Versatile Express configuration bus"
+       tristate "Versatile Express configuration bus"
        default y if ARCH_VEXPRESS
        depends on ARM || ARM64
        depends on OF
index caa35a4cb34d07268f6bc0c8a5aec2d241588e88..a58ac0c8e2826ada3a63d6557f0dc09e36bf08b8 100644 (file)
@@ -7,6 +7,7 @@
 #include <linux/err.h>
 #include <linux/init.h>
 #include <linux/io.h>
+#include <linux/module.h>
 #include <linux/of.h>
 #include <linux/platform_device.h>
 #include <linux/of_device.h>
@@ -407,15 +408,12 @@ static const struct platform_device_id vexpress_syscfg_id_table[] = {
        { "vexpress-syscfg", },
        {},
 };
+MODULE_DEVICE_TABLE(platform, vexpress_syscfg_id_table);
 
 static struct platform_driver vexpress_syscfg_driver = {
        .driver.name = "vexpress-syscfg",
        .id_table = vexpress_syscfg_id_table,
        .probe = vexpress_syscfg_probe,
 };
-
-static int __init vexpress_syscfg_init(void)
-{
-       return platform_driver_register(&vexpress_syscfg_driver);
-}
-core_initcall(vexpress_syscfg_init);
+module_platform_driver(vexpress_syscfg_driver);
+MODULE_LICENSE("GPL v2");