diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-12-16 13:49:34 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-12-24 09:49:52 +0000 |
commit | dec12e62c03d26bbc7a142f067215a3a43cce7d0 (patch) | |
tree | e83d19c45b487ad17ceb43c743aad2ed5701be8d /arch/arm | |
parent | 8ff1443c5439ecee7472b80cf12ecfc337e6ee98 (diff) | |
download | op-kernel-dev-dec12e62c03d26bbc7a142f067215a3a43cce7d0.zip op-kernel-dev-dec12e62c03d26bbc7a142f067215a3a43cce7d0.tar.gz |
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>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/include/asm/mach/arch.h | 1 | ||||
-rw-r--r-- | arch/arm/kernel/setup.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h index 69908dd..3a0893a 100644 --- a/arch/arm/include/asm/mach/arch.h +++ b/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); diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index e53132e..3455ad3 100644 --- a/arch/arm/kernel/setup.c +++ b/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(); } |