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 8290924e ("reset: meson: make it explicitly non-modular") Signed-off-by: Neil Armstrong <narmstr...@baylibre.com> Reviewed-by: Kevin Hilman <khil...@baylibre.com> Tested-by: Kevin Hilman <khil...@baylibre.com> --- Changes since v1 at [1]: - Fix Kconfig depends - Add missing MODULE_DEVICE_TABLE - Add kevin's review & test tags [1] http://lore.kernel.org/r/20201013133943.412119-1-narmstr...@baylibre.com drivers/reset/Kconfig | 3 ++- drivers/reset/reset-meson.c | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig index d9efbfd29646..9a36111cfd2c 100644 --- a/drivers/reset/Kconfig +++ b/drivers/reset/Kconfig @@ -94,7 +94,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. diff --git a/drivers/reset/reset-meson.c b/drivers/reset/reset-meson.c index 94d7ba88d7d2..c9bc325ad65a 100644 --- a/drivers/reset/reset-meson.c +++ b/drivers/reset/reset-meson.c @@ -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 <narmstr...@baylibre.com>"); +MODULE_LICENSE("Dual BSD/GPL"); -- 2.25.1