[PATCH 01/15] ARM: provide a late_initcall hook for platform initialization

H Hartley Sweeten hartleys at visionengravers.com
Wed May 2 13:47:34 EDT 2012


On Wednesday, May 02, 2012 4:33 AM, Shawn Guo wrote:
>
> 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)
>  {

Reviewed-by: H Hartley Sweeten <hsweeten at visionengravers.com>




More information about the linux-arm-kernel mailing list