[PATCH 12/17] ARM: prima2: use machine specific hook for late init
Barry Song
21cnbao at gmail.com
Sun Apr 29 10:06:26 EDT 2012
2012/4/26 Shawn Guo <shawn.guo at linaro.org>
>
> Cc: Barry Song <baohua.song at csr.com>
> Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
Reviewed-by: Barry Song <baohua.song at csr.com>
> ---
> arch/arm/mach-prima2/common.h | 6 ++++++
> arch/arm/mach-prima2/pm.c | 3 +--
> arch/arm/mach-prima2/prima2.c | 6 ++++++
> 3 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-prima2/common.h b/arch/arm/mach-prima2/common.h
> index b28a930..60d826f 100644
> --- a/arch/arm/mach-prima2/common.h
> +++ b/arch/arm/mach-prima2/common.h
> @@ -24,4 +24,10 @@ static inline void sirfsoc_map_lluart(void) {}
> extern void __init sirfsoc_map_lluart(void);
> #endif
>
> +#ifdef CONFIG_SUSPEND
> +extern int sirfsoc_pm_init(void);
> +#else
> +static inline int sirfsoc_pm_init(void) { return 0; }
> +#endif
> +
> #endif
> diff --git a/arch/arm/mach-prima2/pm.c b/arch/arm/mach-prima2/pm.c
> index 26ebb57..fb5a791 100644
> --- a/arch/arm/mach-prima2/pm.c
> +++ b/arch/arm/mach-prima2/pm.c
> @@ -85,12 +85,11 @@ static const struct platform_suspend_ops sirfsoc_pm_ops = {
> .valid = suspend_valid_only_mem,
> };
>
> -static int __init sirfsoc_pm_init(void)
> +int __init sirfsoc_pm_init(void)
> {
> suspend_set_ops(&sirfsoc_pm_ops);
> return 0;
> }
> -late_initcall(sirfsoc_pm_init);
>
> static const struct of_device_id pwrc_ids[] = {
> { .compatible = "sirf,prima2-pwrc" },
> diff --git a/arch/arm/mach-prima2/prima2.c b/arch/arm/mach-prima2/prima2.c
> index 02b9c05..8f0429d 100644
> --- a/arch/arm/mach-prima2/prima2.c
> +++ b/arch/arm/mach-prima2/prima2.c
> @@ -25,6 +25,11 @@ void __init sirfsoc_mach_init(void)
> of_platform_bus_probe(NULL, sirfsoc_of_bus_ids, NULL);
> }
>
> +void __init sirfsoc_init_late(void)
> +{
> + sirfsoc_pm_init();
> +}
> +
> static const char *prima2cb_dt_match[] __initdata = {
> "sirf,prima2-cb",
> NULL
> @@ -39,6 +44,7 @@ MACHINE_START(PRIMA2_EVB, "prima2cb")
> .timer = &sirfsoc_timer,
> .dma_zone_size = SZ_256M,
> .init_machine = sirfsoc_mach_init,
> + .init_late = sirfsoc_init_late,
> .dt_compat = prima2cb_dt_match,
> .restart = sirfsoc_restart,
> MACHINE_END
> --
> 1.7.5.4
More information about the linux-arm-kernel
mailing list