[PATCH 27/41] ARM: restart: prima2: use new restart hook

Barry Song 21cnbao at gmail.com
Mon Nov 7 03:15:39 EST 2011


2011/11/7 Russell King - ARM Linux <linux at arm.linux.org.uk>:
> Hook these platforms restart code into the new restart hook rather
> than using arch_reset().
>
> Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

Reviewed-by: Barry Song <Baohua.Song at csr.com>

> ---
>  arch/arm/mach-prima2/common.h              |    1 +
>  arch/arm/mach-prima2/include/mach/system.h |    8 --------
>  arch/arm/mach-prima2/prima2.c              |    1 +
>  arch/arm/mach-prima2/rstc.c                |    7 +++++++
>  4 files changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/mach-prima2/common.h b/arch/arm/mach-prima2/common.h
> index 83e5d21..b28a930 100644
> --- a/arch/arm/mach-prima2/common.h
> +++ b/arch/arm/mach-prima2/common.h
> @@ -16,6 +16,7 @@ extern struct sys_timer sirfsoc_timer;
>
>  extern void __init sirfsoc_of_irq_init(void);
>  extern void __init sirfsoc_of_clk_init(void);
> +extern void sirfsoc_restart(char, const char *);
>
>  #ifndef CONFIG_DEBUG_LL
>  static inline void sirfsoc_map_lluart(void)  {}
> diff --git a/arch/arm/mach-prima2/include/mach/system.h b/arch/arm/mach-prima2/include/mach/system.h
> index 0dbd257..eb16b4b 100644
> --- a/arch/arm/mach-prima2/include/mach/system.h
> +++ b/arch/arm/mach-prima2/include/mach/system.h
> @@ -9,13 +9,6 @@
>  #ifndef __MACH_SYSTEM_H__
>  #define __MACH_SYSTEM_H__
>
> -#include <linux/bitops.h>
> -#include <mach/hardware.h>
> -
> -#define SIRFSOC_SYS_RST_BIT  BIT(31)
> -
> -extern void __iomem *sirfsoc_rstc_base;
> -
>  static inline void arch_idle(void)
>  {
>        cpu_do_idle();
> @@ -23,7 +16,6 @@ static inline void arch_idle(void)
>
>  static inline void arch_reset(char mode, const char *cmd)
>  {
> -       writel(SIRFSOC_SYS_RST_BIT, sirfsoc_rstc_base);
>  }
>
>  #endif
> diff --git a/arch/arm/mach-prima2/prima2.c b/arch/arm/mach-prima2/prima2.c
> index ef555c0..8609aad 100644
> --- a/arch/arm/mach-prima2/prima2.c
> +++ b/arch/arm/mach-prima2/prima2.c
> @@ -39,4 +39,5 @@ MACHINE_START(PRIMA2_EVB, "prima2cb")
>        .dma_zone_size  = SZ_256M,
>        .init_machine   = sirfsoc_mach_init,
>        .dt_compat      = prima2cb_dt_match,
> +       .restart        = sirfsoc_restart,
>  MACHINE_END
> diff --git a/arch/arm/mach-prima2/rstc.c b/arch/arm/mach-prima2/rstc.c
> index 492cfa8..762adb7 100644
> --- a/arch/arm/mach-prima2/rstc.c
> +++ b/arch/arm/mach-prima2/rstc.c
> @@ -68,3 +68,10 @@ int sirfsoc_reset_device(struct device *dev)
>
>        return 0;
>  }
> +
> +#define SIRFSOC_SYS_RST_BIT  BIT(31)
> +
> +void sirfsoc_restart(char mode, const char *cmd)
> +{
> +       writel(SIRFSOC_SYS_RST_BIT, sirfsoc_rstc_base);
> +}
> --
> 1.7.4.4



More information about the linux-arm-kernel mailing list