Browse Source

ARM: provide an early platform initialization hook

This allows platforms to hook into the initialization early to setup
things like scheduler clocks, etc.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King 14 years ago
parent
commit
dec12e62c0
2 changed files with 4 additions and 0 deletions
  1. 1 0
      arch/arm/include/asm/mach/arch.h
  2. 3 0
      arch/arm/kernel/setup.c

+ 1 - 0
arch/arm/include/asm/mach/arch.h

@@ -37,6 +37,7 @@ struct machine_desc {
 					 struct meminfo *);
 	void			(*reserve)(void);/* reserve mem blocks	*/
 	void			(*map_io)(void);/* IO mapping function	*/
+	void			(*init_early)(void);
 	void			(*init_irq)(void);
 	struct sys_timer	*timer;		/* system tick timer	*/
 	void			(*init_machine)(void);

+ 3 - 0
arch/arm/kernel/setup.c

@@ -880,6 +880,9 @@ void __init setup_arch(char **cmdline_p)
 #endif
 #endif
 	early_trap_init();
+
+	if (mdesc->init_early)
+		mdesc->init_early();
 }