reset: berlin: support module build
authorJisheng Zhang <Jisheng.Zhang@synaptics.com>
Mon, 7 Jun 2021 10:10:15 +0000 (18:10 +0800)
committerPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 7 Jun 2021 10:45:59 +0000 (12:45 +0200)
Make reset-berlin driver to be tristate module, support to build as
a module, this is useful for GKI.

Partially reverts commit ed4dba99cae8 ("reset: berlin: make it
explicitly non-modular")

Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Link: https://lore.kernel.org/r/20210607181015.5b8d3711@xhacker.debian
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
drivers/reset/Kconfig
drivers/reset/reset-berlin.c

index a52d45c..1a04039 100644 (file)
@@ -43,8 +43,9 @@ config RESET_BCM6345
          This enables the reset controller driver for BCM6345 SoCs.
 
 config RESET_BERLIN
-       bool "Berlin Reset Driver" if COMPILE_TEST
-       default ARCH_BERLIN
+       tristate "Berlin Reset Driver"
+       depends on ARCH_BERLIN || COMPILE_TEST
+       default m if ARCH_BERLIN
        help
          This enables the reset controller driver for Marvell Berlin SoCs.
 
index 094dba9..2537ec0 100644 (file)
@@ -14,7 +14,7 @@
 #include <linux/delay.h>
 #include <linux/io.h>
 #include <linux/mfd/syscon.h>
-#include <linux/init.h>
+#include <linux/module.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/platform_device.h>
@@ -93,6 +93,7 @@ static const struct of_device_id berlin_reset_dt_match[] = {
        { .compatible = "marvell,berlin2-reset" },
        { },
 };
+MODULE_DEVICE_TABLE(of, berlin_reset_dt_match);
 
 static struct platform_driver berlin_reset_driver = {
        .probe  = berlin2_reset_probe,
@@ -101,4 +102,9 @@ static struct platform_driver berlin_reset_driver = {
                .of_match_table = berlin_reset_dt_match,
        },
 };
-builtin_platform_driver(berlin_reset_driver);
+module_platform_driver(berlin_reset_driver);
+
+MODULE_AUTHOR("Antoine Tenart <antoine.tenart@free-electrons.com>");
+MODULE_AUTHOR("Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>");
+MODULE_DESCRIPTION("Synaptics Berlin reset controller");
+MODULE_LICENSE("GPL");