[PATCH 15/41] ARM: restart: iop13xx: use new restart hook
Russell King - ARM Linux
linux at arm.linux.org.uk
Thu Nov 17 12:29:19 EST 2011
Ack?
On Sun, Nov 06, 2011 at 05:45:02PM +0000, Russell King - ARM Linux wrote:
> 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>
> ---
> arch/arm/mach-iop13xx/include/mach/iop13xx.h | 1 +
> arch/arm/mach-iop13xx/include/mach/system.h | 10 ----------
> arch/arm/mach-iop13xx/iq81340mc.c | 1 +
> arch/arm/mach-iop13xx/iq81340sc.c | 1 +
> arch/arm/mach-iop13xx/setup.c | 11 +++++++++++
> 5 files changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/mach-iop13xx/include/mach/iop13xx.h b/arch/arm/mach-iop13xx/include/mach/iop13xx.h
> index 52b7fab..07e9ff7 100644
> --- a/arch/arm/mach-iop13xx/include/mach/iop13xx.h
> +++ b/arch/arm/mach-iop13xx/include/mach/iop13xx.h
> @@ -10,6 +10,7 @@ void iop13xx_map_io(void);
> void iop13xx_platform_init(void);
> void iop13xx_add_tpmi_devices(void);
> void iop13xx_init_irq(void);
> +void iop13xx_restart(char, const char *);
>
> /* CPUID CP6 R0 Page 0 */
> static inline int iop13xx_cpu_id(void)
> diff --git a/arch/arm/mach-iop13xx/include/mach/system.h b/arch/arm/mach-iop13xx/include/mach/system.h
> index d0c66ef..7f798dc 100644
> --- a/arch/arm/mach-iop13xx/include/mach/system.h
> +++ b/arch/arm/mach-iop13xx/include/mach/system.h
> @@ -7,7 +7,6 @@
> * it under the terms of the GNU General Public License version 2 as
> * published by the Free Software Foundation.
> */
> -#include <mach/iop13xx.h>
> static inline void arch_idle(void)
> {
> cpu_do_idle();
> @@ -15,13 +14,4 @@ static inline void arch_idle(void)
>
> static inline void arch_reset(char mode, const char *cmd)
> {
> - /*
> - * Reset the internal bus (warning both cores are reset)
> - */
> - write_wdtcr(IOP_WDTCR_EN_ARM);
> - write_wdtcr(IOP_WDTCR_EN);
> - write_wdtsr(IOP13XX_WDTSR_WRITE_EN | IOP13XX_WDTCR_IB_RESET);
> - write_wdtcr(0x1000);
> -
> - for(;;);
> }
> diff --git a/arch/arm/mach-iop13xx/iq81340mc.c b/arch/arm/mach-iop13xx/iq81340mc.c
> index 4cf2cc4..abaee88 100644
> --- a/arch/arm/mach-iop13xx/iq81340mc.c
> +++ b/arch/arm/mach-iop13xx/iq81340mc.c
> @@ -96,4 +96,5 @@ MACHINE_START(IQ81340MC, "Intel IQ81340MC")
> .init_irq = iop13xx_init_irq,
> .timer = &iq81340mc_timer,
> .init_machine = iq81340mc_init,
> + .restart = iop13xx_restart,
> MACHINE_END
> diff --git a/arch/arm/mach-iop13xx/iq81340sc.c b/arch/arm/mach-iop13xx/iq81340sc.c
> index cd9e274..690916a 100644
> --- a/arch/arm/mach-iop13xx/iq81340sc.c
> +++ b/arch/arm/mach-iop13xx/iq81340sc.c
> @@ -98,4 +98,5 @@ MACHINE_START(IQ81340SC, "Intel IQ81340SC")
> .init_irq = iop13xx_init_irq,
> .timer = &iq81340sc_timer,
> .init_machine = iq81340sc_init,
> + .restart = iop13xx_restart,
> MACHINE_END
> diff --git a/arch/arm/mach-iop13xx/setup.c b/arch/arm/mach-iop13xx/setup.c
> index a5b9897..daabb1f 100644
> --- a/arch/arm/mach-iop13xx/setup.c
> +++ b/arch/arm/mach-iop13xx/setup.c
> @@ -606,3 +606,14 @@ static int __init iop13xx_init_adma_setup(char *str)
> __setup("iop13xx_init_adma", iop13xx_init_adma_setup);
> __setup("iop13xx_init_uart", iop13xx_init_uart_setup);
> __setup("iop13xx_init_i2c", iop13xx_init_i2c_setup);
> +
> +void iop13xx_restart(char mode, const char *cmd)
> +{
> + /*
> + * Reset the internal bus (warning both cores are reset)
> + */
> + write_wdtcr(IOP_WDTCR_EN_ARM);
> + write_wdtcr(IOP_WDTCR_EN);
> + write_wdtsr(IOP13XX_WDTSR_WRITE_EN | IOP13XX_WDTCR_IB_RESET);
> + write_wdtcr(0x1000);
> +}
> --
> 1.7.4.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list