[RFC PATCH 3/3] ARM: add a default mach/system.h header

Rob Herring robherring2 at gmail.com
Wed Jul 27 23:32:14 EDT 2011


From: Rob Herring <rob.herring at calxeda.com>

This adds default implementations of arch_idle and arch_reset. Any
platform with a system.h will pickup their version of the functions.

Platforms needing custom idle and reset functions can set pm_idle and
machine_reset, respectively, to custom implementations at boot time.

Signed-off-by: Rob Herring <rob.herring at calxeda.com>
---
 arch/arm/include/mach/system.h |   13 +++++++++++++
 arch/arm/kernel/process.c      |    5 ++++-
 2 files changed, 17 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/include/mach/system.h

diff --git a/arch/arm/include/mach/system.h b/arch/arm/include/mach/system.h
new file mode 100644
index 0000000..9ab0684
--- /dev/null
+++ b/arch/arm/include/mach/system.h
@@ -0,0 +1,13 @@
+#ifndef __MACH_SYSTEM_H
+#define __MACH_SYSTEM_H
+
+static inline void arch_idle(void)
+{
+	cpu_do_idle();
+}
+
+static inline void arch_reset(char mode, const char *cmd)
+{
+}
+
+#endif
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index 5e1e541..b3b10bc 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -91,6 +91,9 @@ static int __init hlt_setup(char *__unused)
 __setup("nohlt", nohlt_setup);
 __setup("hlt", hlt_setup);
 
+void (*machine_reset)(char mode, const char *cmd) = arch_reset;
+EXPORT_SYMBOL(machine_reset);
+
 void arm_machine_restart(char mode, const char *cmd)
 {
 	/* Disable interrupts first */
@@ -116,7 +119,7 @@ void arm_machine_restart(char mode, const char *cmd)
 	/*
 	 * Now call the architecture specific reboot code.
 	 */
-	arch_reset(mode, cmd);
+	machine_reset(mode, cmd);
 
 	/*
 	 * Whoops - the architecture was unable to reboot.
-- 
1.7.4.1




More information about the linux-arm-kernel mailing list