OSDN Git Service

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 69908dd..3a0893a 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 e53132e..3455ad3 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();
 }