summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-vexpress/reset.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-vexpress/reset.c')
-rw-r--r--arch/arm/mach-vexpress/reset.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/arch/arm/mach-vexpress/reset.c b/arch/arm/mach-vexpress/reset.c
index 78e452936d..0d626db7d7 100644
--- a/arch/arm/mach-vexpress/reset.c
+++ b/arch/arm/mach-vexpress/reset.c
@@ -9,12 +9,12 @@
#include <init.h>
#include <restart.h>
#include <linux/amba/sp805.h>
-
-#include <mach/devices.h>
+#include <mach/vexpress/vexpress.h>
+#include <mach/vexpress/devices.h>
void __iomem *v2m_wdt_base;
-static void vexpress_reset_soc(struct restart_handler *rst)
+static void __noreturn vexpress_reset_soc(struct restart_handler *rst)
{
writel(LOAD_MIN, v2m_wdt_base + WDTLOAD);
writeb(RESET_ENABLE, v2m_wdt_base + WDTCONTROL);
@@ -22,10 +22,9 @@ static void vexpress_reset_soc(struct restart_handler *rst)
hang();
}
-static int restart_register_feature(void)
+void vexpress_restart_register_feature(void __iomem *base)
{
- restart_handler_register_fn("soc-wdt", vexpress_reset_soc);
+ v2m_wdt_base = base;
- return 0;
+ restart_handler_register_fn("soc-wdt", vexpress_reset_soc);
}
-coredevice_initcall(restart_register_feature);