Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: provide a late_initcall hook for platform initialization

This allows platforms to set up things that need to be done at
late_initcall time.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Tested-by: Robert Lee <rob.lee@linaro.org>
Tested-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>

Shawn Guo 90de4137 66f75a5d

+9
+1
arch/arm/include/asm/mach/arch.h
··· 43 43 void (*init_irq)(void); 44 44 struct sys_timer *timer; /* system tick timer */ 45 45 void (*init_machine)(void); 46 + void (*init_late)(void); 46 47 #ifdef CONFIG_MULTI_IRQ_HANDLER 47 48 void (*handle_irq)(struct pt_regs *); 48 49 #endif
+8
arch/arm/kernel/setup.c
··· 800 800 } 801 801 arch_initcall(customize_machine); 802 802 803 + static int __init init_machine_late(void) 804 + { 805 + if (machine_desc->init_late) 806 + machine_desc->init_late(); 807 + return 0; 808 + } 809 + late_initcall(init_machine_late); 810 + 803 811 #ifdef CONFIG_KEXEC 804 812 static inline unsigned long long get_total_mem(void) 805 813 {