[PATCH 01/15] ARM: provide a late_initcall hook for platform initialization
Shawn Guo
shawn.guo at linaro.org
Wed May 2 07:33:26 EDT 2012
This allows platforms to set up things that need to be done at
late_initcall time.
Cc: Russell King <linux at arm.linux.org.uk>
Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
Tested-by: Robert Lee <rob.lee at linaro.org>
---
arch/arm/include/asm/mach/arch.h | 1 +
arch/arm/kernel/setup.c | 8 ++++++++
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h
index d7692ca..0b1c94b 100644
--- a/arch/arm/include/asm/mach/arch.h
+++ b/arch/arm/include/asm/mach/arch.h
@@ -43,6 +43,7 @@ struct machine_desc {
void (*init_irq)(void);
struct sys_timer *timer; /* system tick timer */
void (*init_machine)(void);
+ void (*init_late)(void);
#ifdef CONFIG_MULTI_IRQ_HANDLER
void (*handle_irq)(struct pt_regs *);
#endif
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index ebfac78..549f036 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -800,6 +800,14 @@ static int __init customize_machine(void)
}
arch_initcall(customize_machine);
+static int __init init_machine_late(void)
+{
+ if (machine_desc->init_late)
+ machine_desc->init_late();
+ return 0;
+}
+late_initcall(init_machine_late);
+
#ifdef CONFIG_KEXEC
static inline unsigned long long get_total_mem(void)
{
--
1.7.5.4
More information about the linux-arm-kernel
mailing list