ARM: restart: ixp4xx: use new restart hook
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 5 Nov 2011 12:10:55 +0000 (12:10 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 5 Jan 2012 12:57:14 +0000 (12:57 +0000)
Hook these platforms restart code into the new restart hook rather
than using arch_reset().

Acked-by: Krzysztof HaƂasa <khc@pm.waw.pl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 files changed:
arch/arm/mach-ixp4xx/avila-setup.c
arch/arm/mach-ixp4xx/common.c
arch/arm/mach-ixp4xx/coyote-setup.c
arch/arm/mach-ixp4xx/dsmg600-setup.c
arch/arm/mach-ixp4xx/fsg-setup.c
arch/arm/mach-ixp4xx/gateway7001-setup.c
arch/arm/mach-ixp4xx/goramo_mlr.c
arch/arm/mach-ixp4xx/gtwx5715-setup.c
arch/arm/mach-ixp4xx/include/mach/platform.h
arch/arm/mach-ixp4xx/include/mach/system.h
arch/arm/mach-ixp4xx/ixdp425-setup.c
arch/arm/mach-ixp4xx/nas100d-setup.c
arch/arm/mach-ixp4xx/nslu2-setup.c
arch/arm/mach-ixp4xx/omixp-setup.c
arch/arm/mach-ixp4xx/vulcan-setup.c
arch/arm/mach-ixp4xx/wg302v2-setup.c

index 37609a22c4501ad6ed9fc5a5c5ba28018cbdfefc..a7277ad470a50ffdf8248f1b574b9961dccea0ca 100644 (file)
@@ -172,6 +172,7 @@ MACHINE_START(AVILA, "Gateworks Avila Network Platform")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
 
  /*
@@ -190,6 +191,7 @@ MACHINE_START(LOFT, "Giant Shoulder Inc Loft board")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
 #endif
 
index b86a0055ab969694dc931be487a33aaef4368a4c..04aa12103bcec1f9e7e68a19208d2da873f4be26 100644 (file)
@@ -501,3 +501,23 @@ static void __init ixp4xx_clockevent_init(void)
 
        clockevents_register_device(&clockevent_ixp4xx);
 }
+
+void ixp4xx_restart(char mode, const char *cmd)
+{
+       if ( 1 && mode == 's') {
+               /* Jump into ROM at address 0 */
+               soft_restart(0);
+       } else {
+               /* Use on-chip reset capability */
+
+               /* set the "key" register to enable access to
+                * "timer" and "enable" registers
+                */
+               *IXP4XX_OSWK = IXP4XX_WDT_KEY;
+
+               /* write 0 to the timer register for an immediate reset */
+               *IXP4XX_OSWT = 0;
+
+               *IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE;
+       }
+}
index 81dfec31842b8b025914f6300485d8fb430f8fe0..a74f86ce8bcc8252576215455998b79fb7b5d1a6 100644 (file)
@@ -117,6 +117,7 @@ MACHINE_START(ADI_COYOTE, "ADI Engineering Coyote")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
 #endif
 
@@ -132,6 +133,7 @@ MACHINE_START(IXDPG425, "Intel IXDPG425")
        .timer          = &ixp4xx_timer,
        .atag_offset    = 0x100,
        .init_machine   = coyote_init,
+       .restart        = ixp4xx_restart,
 MACHINE_END
 #endif
 
index 8837fbca27ce7e06a47f50c5d05537986d7c3bb8..67be177b336aa0ebd04315f31bc659d66c8c65f8 100644 (file)
@@ -286,4 +286,5 @@ MACHINE_START(DSMG600, "D-Link DSM-G600 RevA")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
index 2887c3578c17531c6017b0cf085ca277a52a4612..6d5818285af8efd970d363aff1cee67003d7d281 100644 (file)
@@ -277,5 +277,6 @@ MACHINE_START(FSG, "Freecom FSG-3")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
 
index d69d1b053bb73bcdf9e8a88f939c313555ac0c06..7ecf9b28f1c0a3d0d8c2f288e94cf2a18bf6ee14 100644 (file)
@@ -104,5 +104,6 @@ MACHINE_START(GATEWAY7001, "Gateway 7001 AP")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
 #endif
index bf6678d1a929867750da6f73f9e4506911bb7076..c0e3d69a8aeccf23e7372693c01284b9d43e6917 100644 (file)
@@ -504,4 +504,5 @@ MACHINE_START(GORAMO_MLR, "MultiLink")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
index aa029fc19140b133f8cec8cdca9ab61bcb917d99..a23f8939145836b280a8fbd53d35b4dce0f45ad1 100644 (file)
@@ -172,6 +172,7 @@ MACHINE_START(GTWX5715, "Gemtek GTWX5715 (Linksys WRV54G)")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
 
 
index e824c02c825aa8c1885206d5f5a8bcf758041776..df9250bbf13d90c1b198338ae61be5366b0041c8 100644 (file)
@@ -125,6 +125,7 @@ extern void ixp4xx_init_irq(void);
 extern void ixp4xx_sys_init(void);
 extern void ixp4xx_timer_init(void);
 extern struct sys_timer ixp4xx_timer;
+extern void ixp4xx_restart(char, const char *);
 extern void ixp4xx_pci_preinit(void);
 struct pci_sys_data;
 extern int ixp4xx_setup(int nr, struct pci_sys_data *sys);
index 24337d9d275bbebbf722e3b194a1f0e3b65070f2..72db2bbb683402b6537d2e95f695229e712b5f68 100644 (file)
@@ -8,9 +8,6 @@
  * published by the Free Software Foundation.
  *
  */
-
-#include <mach/hardware.h>
-
 static inline void arch_idle(void)
 {
        /* ixp4xx does not implement the XScale PWRMODE register,
@@ -21,24 +18,6 @@ static inline void arch_idle(void)
 #endif
 }
 
-
 static inline void arch_reset(char mode, const char *cmd)
 {
-       if ( 1 && mode == 's') {
-               /* Jump into ROM at address 0 */
-               soft_restart(0);
-       } else {
-               /* Use on-chip reset capability */
-
-               /* set the "key" register to enable access to
-                * "timer" and "enable" registers
-                */
-               *IXP4XX_OSWK = IXP4XX_WDT_KEY;
-
-               /* write 0 to the timer register for an immediate reset */
-               *IXP4XX_OSWT = 0;
-
-               *IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE;
-       }
 }
-
index f235f829dfa65979c992e261d4780dfb80bc0b4d..8a38b39999f836b5ffb7c3f430ce8f489eb7b8a5 100644 (file)
@@ -261,6 +261,7 @@ MACHINE_START(IXDP425, "Intel IXDP425 Development Platform")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
 #endif
 
index de716fa1aab64e713edc822200b814fcb2445264..1010eb7b0083c6a0f33a63fe373d9567c9ea5b7a 100644 (file)
@@ -321,4 +321,5 @@ MACHINE_START(NAS100D, "Iomega NAS 100d")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
index ac81ccb26bfea8b63902f83041b66137fb11896f..aa355c360d5720e4665999f4acfa11e9495d2467 100644 (file)
@@ -307,4 +307,5 @@ MACHINE_START(NSLU2, "Linksys NSLU2")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
index 3b6a81a696fc8696b095be92c28f0629d3c79a3b..0940869fcfdd33f487c629806b65862433a2c5c4 100644 (file)
@@ -246,6 +246,7 @@ MACHINE_START(DEVIXP, "Omicron DEVIXP")
        .init_irq       = ixp4xx_init_irq,
        .timer          = &ixp4xx_timer,
        .init_machine   = omixp_init,
+       .restart        = ixp4xx_restart,
 MACHINE_END
 #endif
 
@@ -259,6 +260,7 @@ MACHINE_START(MICCPT, "Omicron MICCPT")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
 #endif
 
@@ -269,5 +271,6 @@ MACHINE_START(MIC256, "Omicron MIC256")
        .init_irq       = ixp4xx_init_irq,
        .timer          = &ixp4xx_timer,
        .init_machine   = omixp_init,
+       .restart        = ixp4xx_restart,
 MACHINE_END
 #endif
index 27e469ef45238081d50fecf86e30c54002a0abb4..9dec20683291f4eb3c4ee4874b6046bd70788c38 100644 (file)
@@ -244,4 +244,5 @@ MACHINE_START(ARCOM_VULCAN, "Arcom/Eurotech Vulcan")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
index b14144b967a783c49b1bafc56384edb6986dd086..5ac0f0a0fd8cea97f30046de24fffcebb190a784 100644 (file)
@@ -105,5 +105,6 @@ MACHINE_START(WG302V2, "Netgear WG302 v2 / WAG302 v2")
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
 #endif
+       .restart        = ixp4xx_restart,
 MACHINE_END
 #endif