ARM: provide an early platform initialization hook
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 16 Dec 2010 13:49:34 +0000 (13:49 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 24 Dec 2010 09:49:52 +0000 (09:49 +0000)
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>
arch/arm/include/asm/mach/arch.h
arch/arm/kernel/setup.c

index 69908ddbaf1839df7435ec0d37b8693f7e076191..3a0893a76a3b23abbb8ecaf4c4c9ce1a528f3bd4 100644 (file)
@@ -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);
index e53132eee27aa254e952028aa404c19d569cd257..3455ad33de4c425bfdba98b7bef29999792f54e3 100644 (file)
@@ -880,6 +880,9 @@ void __init setup_arch(char **cmdline_p)
 #endif
 #endif
        early_trap_init();
+
+       if (mdesc->init_early)
+               mdesc->init_early();
 }