Today the vexpress power driver can only be builtin. Rework so it's possible for the vexpress power driver to be a module.
Signed-off-by: Anders Roxell <anders.rox...@linaro.org> --- arch/arm/mach-vexpress/Kconfig | 1 - drivers/power/reset/Kconfig | 5 +++-- drivers/power/reset/vexpress-poweroff.c | 12 +++++++++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig index 065e12991663..4b54d8cf897d 100644 --- a/arch/arm/mach-vexpress/Kconfig +++ b/arch/arm/mach-vexpress/Kconfig @@ -15,7 +15,6 @@ menuconfig ARCH_VEXPRESS select NO_IOPORT_MAP select PLAT_VERSATILE select POWER_RESET - select POWER_RESET_VEXPRESS select POWER_SUPPLY select REGULATOR if MMC_ARMMMCI select REGULATOR_FIXED_VOLTAGE if REGULATOR diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig index f07b982c8dff..8468d42b0198 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig @@ -189,9 +189,10 @@ config POWER_RESET_VERSATILE reference boards. config POWER_RESET_VEXPRESS - bool "ARM Versatile Express power-off and reset driver" + tristate "ARM Versatile Express power-off and reset driver" depends on ARM || ARM64 - depends on VEXPRESS_CONFIG=y + depends on VEXPRESS_CONFIG + default VEXPRESS_CONFIG help Power off and reset support for the ARM Ltd. Versatile Express boards. diff --git a/drivers/power/reset/vexpress-poweroff.c b/drivers/power/reset/vexpress-poweroff.c index 1fdbcbd95fc2..b1eef95132d9 100644 --- a/drivers/power/reset/vexpress-poweroff.c +++ b/drivers/power/reset/vexpress-poweroff.c @@ -5,6 +5,7 @@ */ #include <linux/delay.h> +#include <linux/module.h> #include <linux/notifier.h> #include <linux/of.h> #include <linux/of_device.h> @@ -146,4 +147,13 @@ static struct platform_driver vexpress_reset_driver = { .suppress_bind_attrs = true, }, }; -builtin_platform_driver(vexpress_reset_driver); + +static int __init vexpress_reset_init(void) +{ + return platform_driver_register(&vexpress_reset_driver); +} +module_init(vexpress_reset_init); + +MODULE_AUTHOR("Pawel Moll <pawel.m...@arm.com>"); +MODULE_DESCRIPTION("Vexpress reset driver"); +MODULE_LICENSE("GPL v2"); -- 2.26.2