reset: meson: make it possible to build as a module
authorNeil Armstrong <narmstrong@baylibre.com>
Mon, 19 Oct 2020 14:48:09 +0000 (16:48 +0200)
committerPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 16 Nov 2020 16:05:29 +0000 (17:05 +0100)
In order to reduce the kernel Image size on multi-platform distributions,
make it possible to build the reset controller driver as a module.

This partially reverts commit 8290924e6878 ("reset: meson: make it
explicitly non-modular").

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Tested-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
drivers/reset/Kconfig
drivers/reset/reset-meson.c

index 07d162b179fce8c9a64836ce6641240b467476c4..84baec01aa30656c1ab811c2aef9334fe5452fb0 100644 (file)
@@ -95,7 +95,8 @@ config RESET_LPC18XX
          This enables the reset controller driver for NXP LPC18xx/43xx SoCs.
 
 config RESET_MESON
-       bool "Meson Reset Driver" if COMPILE_TEST
+       tristate "Meson Reset Driver"
+       depends on ARCH_MESON || COMPILE_TEST
        default ARCH_MESON
        help
          This enables the reset driver for Amlogic Meson SoCs.
index 94d7ba88d7d2316dc53902e96e594d8b391f22ec..c9bc325ad65ab9cd60b9d5d3312d6dd0cd87386f 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/of.h>
+#include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/reset-controller.h>
 #include <linux/slab.h>
@@ -104,6 +105,7 @@ static const struct of_device_id meson_reset_dt_ids[] = {
         { .compatible = "amlogic,meson-a1-reset",   .data = &meson_a1_param},
         { /* sentinel */ },
 };
+MODULE_DEVICE_TABLE(of, meson_reset_dt_ids);
 
 static int meson_reset_probe(struct platform_device *pdev)
 {
@@ -142,4 +144,8 @@ static struct platform_driver meson_reset_driver = {
                .of_match_table = meson_reset_dt_ids,
        },
 };
-builtin_platform_driver(meson_reset_driver);
+module_platform_driver(meson_reset_driver);
+
+MODULE_DESCRIPTION("Amlogic Meson Reset Controller driver");
+MODULE_AUTHOR("Neil Armstrong <narmstrong@baylibre.com>");
+MODULE_LICENSE("Dual BSD/GPL");