diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-11-05 08:10:55 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-05 07:57:14 -0500 |
commit | d1b860fbb2b0d25a5ccd8165ea4db2914b0820f5 (patch) | |
tree | b65b0c6ea80f9a9d0146fbaab6306a3be53ca449 /arch | |
parent | b219415c39053dbe70e88c361b5e943acd74546c (diff) |
ARM: restart: ixp4xx: use new restart hook
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-ixp4xx/avila-setup.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/common.c | 20 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/coyote-setup.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/dsmg600-setup.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/fsg-setup.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/gateway7001-setup.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/goramo_mlr.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/gtwx5715-setup.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/include/mach/platform.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/include/mach/system.h | 21 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/ixdp425-setup.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/nas100d-setup.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/nslu2-setup.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/omixp-setup.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/vulcan-setup.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/wg302v2-setup.c | 1 |
16 files changed, 38 insertions, 21 deletions
diff --git a/arch/arm/mach-ixp4xx/avila-setup.c b/arch/arm/mach-ixp4xx/avila-setup.c index 37609a22c450..a7277ad470a5 100644 --- a/arch/arm/mach-ixp4xx/avila-setup.c +++ b/arch/arm/mach-ixp4xx/avila-setup.c | |||
@@ -172,6 +172,7 @@ MACHINE_START(AVILA, "Gateworks Avila Network Platform") | |||
172 | #if defined(CONFIG_PCI) | 172 | #if defined(CONFIG_PCI) |
173 | .dma_zone_size = SZ_64M, | 173 | .dma_zone_size = SZ_64M, |
174 | #endif | 174 | #endif |
175 | .restart = ixp4xx_restart, | ||
175 | MACHINE_END | 176 | MACHINE_END |
176 | 177 | ||
177 | /* | 178 | /* |
@@ -190,6 +191,7 @@ MACHINE_START(LOFT, "Giant Shoulder Inc Loft board") | |||
190 | #if defined(CONFIG_PCI) | 191 | #if defined(CONFIG_PCI) |
191 | .dma_zone_size = SZ_64M, | 192 | .dma_zone_size = SZ_64M, |
192 | #endif | 193 | #endif |
194 | .restart = ixp4xx_restart, | ||
193 | MACHINE_END | 195 | MACHINE_END |
194 | #endif | 196 | #endif |
195 | 197 | ||
diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c index b86a0055ab96..04aa12103bce 100644 --- a/arch/arm/mach-ixp4xx/common.c +++ b/arch/arm/mach-ixp4xx/common.c | |||
@@ -501,3 +501,23 @@ static void __init ixp4xx_clockevent_init(void) | |||
501 | 501 | ||
502 | clockevents_register_device(&clockevent_ixp4xx); | 502 | clockevents_register_device(&clockevent_ixp4xx); |
503 | } | 503 | } |
504 | |||
505 | void ixp4xx_restart(char mode, const char *cmd) | ||
506 | { | ||
507 | if ( 1 && mode == 's') { | ||
508 | /* Jump into ROM at address 0 */ | ||
509 | soft_restart(0); | ||
510 | } else { | ||
511 | /* Use on-chip reset capability */ | ||
512 | |||
513 | /* set the "key" register to enable access to | ||
514 | * "timer" and "enable" registers | ||
515 | */ | ||
516 | *IXP4XX_OSWK = IXP4XX_WDT_KEY; | ||
517 | |||
518 | /* write 0 to the timer register for an immediate reset */ | ||
519 | *IXP4XX_OSWT = 0; | ||
520 | |||
521 | *IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE; | ||
522 | } | ||
523 | } | ||
diff --git a/arch/arm/mach-ixp4xx/coyote-setup.c b/arch/arm/mach-ixp4xx/coyote-setup.c index 81dfec31842b..a74f86ce8bcc 100644 --- a/arch/arm/mach-ixp4xx/coyote-setup.c +++ b/arch/arm/mach-ixp4xx/coyote-setup.c | |||
@@ -117,6 +117,7 @@ MACHINE_START(ADI_COYOTE, "ADI Engineering Coyote") | |||
117 | #if defined(CONFIG_PCI) | 117 | #if defined(CONFIG_PCI) |
118 | .dma_zone_size = SZ_64M, | 118 | .dma_zone_size = SZ_64M, |
119 | #endif | 119 | #endif |
120 | .restart = ixp4xx_restart, | ||
120 | MACHINE_END | 121 | MACHINE_END |
121 | #endif | 122 | #endif |
122 | 123 | ||
@@ -132,6 +133,7 @@ MACHINE_START(IXDPG425, "Intel IXDPG425") | |||
132 | .timer = &ixp4xx_timer, | 133 | .timer = &ixp4xx_timer, |
133 | .atag_offset = 0x100, | 134 | .atag_offset = 0x100, |
134 | .init_machine = coyote_init, | 135 | .init_machine = coyote_init, |
136 | .restart = ixp4xx_restart, | ||
135 | MACHINE_END | 137 | MACHINE_END |
136 | #endif | 138 | #endif |
137 | 139 | ||
diff --git a/arch/arm/mach-ixp4xx/dsmg600-setup.c b/arch/arm/mach-ixp4xx/dsmg600-setup.c index 8837fbca27ce..67be177b336a 100644 --- a/arch/arm/mach-ixp4xx/dsmg600-setup.c +++ b/arch/arm/mach-ixp4xx/dsmg600-setup.c | |||
@@ -286,4 +286,5 @@ MACHINE_START(DSMG600, "D-Link DSM-G600 RevA") | |||
286 | #if defined(CONFIG_PCI) | 286 | #if defined(CONFIG_PCI) |
287 | .dma_zone_size = SZ_64M, | 287 | .dma_zone_size = SZ_64M, |
288 | #endif | 288 | #endif |
289 | .restart = ixp4xx_restart, | ||
289 | MACHINE_END | 290 | MACHINE_END |
diff --git a/arch/arm/mach-ixp4xx/fsg-setup.c b/arch/arm/mach-ixp4xx/fsg-setup.c index 2887c3578c17..6d5818285af8 100644 --- a/arch/arm/mach-ixp4xx/fsg-setup.c +++ b/arch/arm/mach-ixp4xx/fsg-setup.c | |||
@@ -277,5 +277,6 @@ MACHINE_START(FSG, "Freecom FSG-3") | |||
277 | #if defined(CONFIG_PCI) | 277 | #if defined(CONFIG_PCI) |
278 | .dma_zone_size = SZ_64M, | 278 | .dma_zone_size = SZ_64M, |
279 | #endif | 279 | #endif |
280 | .restart = ixp4xx_restart, | ||
280 | MACHINE_END | 281 | MACHINE_END |
281 | 282 | ||
diff --git a/arch/arm/mach-ixp4xx/gateway7001-setup.c b/arch/arm/mach-ixp4xx/gateway7001-setup.c index d69d1b053bb7..7ecf9b28f1c0 100644 --- a/arch/arm/mach-ixp4xx/gateway7001-setup.c +++ b/arch/arm/mach-ixp4xx/gateway7001-setup.c | |||
@@ -104,5 +104,6 @@ MACHINE_START(GATEWAY7001, "Gateway 7001 AP") | |||
104 | #if defined(CONFIG_PCI) | 104 | #if defined(CONFIG_PCI) |
105 | .dma_zone_size = SZ_64M, | 105 | .dma_zone_size = SZ_64M, |
106 | #endif | 106 | #endif |
107 | .restart = ixp4xx_restart, | ||
107 | MACHINE_END | 108 | MACHINE_END |
108 | #endif | 109 | #endif |
diff --git a/arch/arm/mach-ixp4xx/goramo_mlr.c b/arch/arm/mach-ixp4xx/goramo_mlr.c index bf6678d1a929..c0e3d69a8aec 100644 --- a/arch/arm/mach-ixp4xx/goramo_mlr.c +++ b/arch/arm/mach-ixp4xx/goramo_mlr.c | |||
@@ -504,4 +504,5 @@ MACHINE_START(GORAMO_MLR, "MultiLink") | |||
504 | #if defined(CONFIG_PCI) | 504 | #if defined(CONFIG_PCI) |
505 | .dma_zone_size = SZ_64M, | 505 | .dma_zone_size = SZ_64M, |
506 | #endif | 506 | #endif |
507 | .restart = ixp4xx_restart, | ||
507 | MACHINE_END | 508 | MACHINE_END |
diff --git a/arch/arm/mach-ixp4xx/gtwx5715-setup.c b/arch/arm/mach-ixp4xx/gtwx5715-setup.c index aa029fc19140..a23f89391458 100644 --- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c +++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c | |||
@@ -172,6 +172,7 @@ MACHINE_START(GTWX5715, "Gemtek GTWX5715 (Linksys WRV54G)") | |||
172 | #if defined(CONFIG_PCI) | 172 | #if defined(CONFIG_PCI) |
173 | .dma_zone_size = SZ_64M, | 173 | .dma_zone_size = SZ_64M, |
174 | #endif | 174 | #endif |
175 | .restart = ixp4xx_restart, | ||
175 | MACHINE_END | 176 | MACHINE_END |
176 | 177 | ||
177 | 178 | ||
diff --git a/arch/arm/mach-ixp4xx/include/mach/platform.h b/arch/arm/mach-ixp4xx/include/mach/platform.h index e824c02c825a..df9250bbf13d 100644 --- a/arch/arm/mach-ixp4xx/include/mach/platform.h +++ b/arch/arm/mach-ixp4xx/include/mach/platform.h | |||
@@ -125,6 +125,7 @@ extern void ixp4xx_init_irq(void); | |||
125 | extern void ixp4xx_sys_init(void); | 125 | extern void ixp4xx_sys_init(void); |
126 | extern void ixp4xx_timer_init(void); | 126 | extern void ixp4xx_timer_init(void); |
127 | extern struct sys_timer ixp4xx_timer; | 127 | extern struct sys_timer ixp4xx_timer; |
128 | extern void ixp4xx_restart(char, const char *); | ||
128 | extern void ixp4xx_pci_preinit(void); | 129 | extern void ixp4xx_pci_preinit(void); |
129 | struct pci_sys_data; | 130 | struct pci_sys_data; |
130 | extern int ixp4xx_setup(int nr, struct pci_sys_data *sys); | 131 | extern int ixp4xx_setup(int nr, struct pci_sys_data *sys); |
diff --git a/arch/arm/mach-ixp4xx/include/mach/system.h b/arch/arm/mach-ixp4xx/include/mach/system.h index 24337d9d275b..72db2bbb6834 100644 --- a/arch/arm/mach-ixp4xx/include/mach/system.h +++ b/arch/arm/mach-ixp4xx/include/mach/system.h | |||
@@ -8,9 +8,6 @@ | |||
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | * | 9 | * |
10 | */ | 10 | */ |
11 | |||
12 | #include <mach/hardware.h> | ||
13 | |||
14 | static inline void arch_idle(void) | 11 | static inline void arch_idle(void) |
15 | { | 12 | { |
16 | /* ixp4xx does not implement the XScale PWRMODE register, | 13 | /* ixp4xx does not implement the XScale PWRMODE register, |
@@ -21,24 +18,6 @@ static inline void arch_idle(void) | |||
21 | #endif | 18 | #endif |
22 | } | 19 | } |
23 | 20 | ||
24 | |||
25 | static inline void arch_reset(char mode, const char *cmd) | 21 | static inline void arch_reset(char mode, const char *cmd) |
26 | { | 22 | { |
27 | if ( 1 && mode == 's') { | ||
28 | /* Jump into ROM at address 0 */ | ||
29 | soft_restart(0); | ||
30 | } else { | ||
31 | /* Use on-chip reset capability */ | ||
32 | |||
33 | /* set the "key" register to enable access to | ||
34 | * "timer" and "enable" registers | ||
35 | */ | ||
36 | *IXP4XX_OSWK = IXP4XX_WDT_KEY; | ||
37 | |||
38 | /* write 0 to the timer register for an immediate reset */ | ||
39 | *IXP4XX_OSWT = 0; | ||
40 | |||
41 | *IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE; | ||
42 | } | ||
43 | } | 23 | } |
44 | |||
diff --git a/arch/arm/mach-ixp4xx/ixdp425-setup.c b/arch/arm/mach-ixp4xx/ixdp425-setup.c index f235f829dfa6..8a38b39999f8 100644 --- a/arch/arm/mach-ixp4xx/ixdp425-setup.c +++ b/arch/arm/mach-ixp4xx/ixdp425-setup.c | |||
@@ -261,6 +261,7 @@ MACHINE_START(IXDP425, "Intel IXDP425 Development Platform") | |||
261 | #if defined(CONFIG_PCI) | 261 | #if defined(CONFIG_PCI) |
262 | .dma_zone_size = SZ_64M, | 262 | .dma_zone_size = SZ_64M, |
263 | #endif | 263 | #endif |
264 | .restart = ixp4xx_restart, | ||
264 | MACHINE_END | 265 | MACHINE_END |
265 | #endif | 266 | #endif |
266 | 267 | ||
diff --git a/arch/arm/mach-ixp4xx/nas100d-setup.c b/arch/arm/mach-ixp4xx/nas100d-setup.c index de716fa1aab6..1010eb7b0083 100644 --- a/arch/arm/mach-ixp4xx/nas100d-setup.c +++ b/arch/arm/mach-ixp4xx/nas100d-setup.c | |||
@@ -321,4 +321,5 @@ MACHINE_START(NAS100D, "Iomega NAS 100d") | |||
321 | #if defined(CONFIG_PCI) | 321 | #if defined(CONFIG_PCI) |
322 | .dma_zone_size = SZ_64M, | 322 | .dma_zone_size = SZ_64M, |
323 | #endif | 323 | #endif |
324 | .restart = ixp4xx_restart, | ||
324 | MACHINE_END | 325 | MACHINE_END |
diff --git a/arch/arm/mach-ixp4xx/nslu2-setup.c b/arch/arm/mach-ixp4xx/nslu2-setup.c index ac81ccb26bfe..aa355c360d57 100644 --- a/arch/arm/mach-ixp4xx/nslu2-setup.c +++ b/arch/arm/mach-ixp4xx/nslu2-setup.c | |||
@@ -307,4 +307,5 @@ MACHINE_START(NSLU2, "Linksys NSLU2") | |||
307 | #if defined(CONFIG_PCI) | 307 | #if defined(CONFIG_PCI) |
308 | .dma_zone_size = SZ_64M, | 308 | .dma_zone_size = SZ_64M, |
309 | #endif | 309 | #endif |
310 | .restart = ixp4xx_restart, | ||
310 | MACHINE_END | 311 | MACHINE_END |
diff --git a/arch/arm/mach-ixp4xx/omixp-setup.c b/arch/arm/mach-ixp4xx/omixp-setup.c index 3b6a81a696fc..0940869fcfdd 100644 --- a/arch/arm/mach-ixp4xx/omixp-setup.c +++ b/arch/arm/mach-ixp4xx/omixp-setup.c | |||
@@ -246,6 +246,7 @@ MACHINE_START(DEVIXP, "Omicron DEVIXP") | |||
246 | .init_irq = ixp4xx_init_irq, | 246 | .init_irq = ixp4xx_init_irq, |
247 | .timer = &ixp4xx_timer, | 247 | .timer = &ixp4xx_timer, |
248 | .init_machine = omixp_init, | 248 | .init_machine = omixp_init, |
249 | .restart = ixp4xx_restart, | ||
249 | MACHINE_END | 250 | MACHINE_END |
250 | #endif | 251 | #endif |
251 | 252 | ||
@@ -259,6 +260,7 @@ MACHINE_START(MICCPT, "Omicron MICCPT") | |||
259 | #if defined(CONFIG_PCI) | 260 | #if defined(CONFIG_PCI) |
260 | .dma_zone_size = SZ_64M, | 261 | .dma_zone_size = SZ_64M, |
261 | #endif | 262 | #endif |
263 | .restart = ixp4xx_restart, | ||
262 | MACHINE_END | 264 | MACHINE_END |
263 | #endif | 265 | #endif |
264 | 266 | ||
@@ -269,5 +271,6 @@ MACHINE_START(MIC256, "Omicron MIC256") | |||
269 | .init_irq = ixp4xx_init_irq, | 271 | .init_irq = ixp4xx_init_irq, |
270 | .timer = &ixp4xx_timer, | 272 | .timer = &ixp4xx_timer, |
271 | .init_machine = omixp_init, | 273 | .init_machine = omixp_init, |
274 | .restart = ixp4xx_restart, | ||
272 | MACHINE_END | 275 | MACHINE_END |
273 | #endif | 276 | #endif |
diff --git a/arch/arm/mach-ixp4xx/vulcan-setup.c b/arch/arm/mach-ixp4xx/vulcan-setup.c index 27e469ef4523..9dec20683291 100644 --- a/arch/arm/mach-ixp4xx/vulcan-setup.c +++ b/arch/arm/mach-ixp4xx/vulcan-setup.c | |||
@@ -244,4 +244,5 @@ MACHINE_START(ARCOM_VULCAN, "Arcom/Eurotech Vulcan") | |||
244 | #if defined(CONFIG_PCI) | 244 | #if defined(CONFIG_PCI) |
245 | .dma_zone_size = SZ_64M, | 245 | .dma_zone_size = SZ_64M, |
246 | #endif | 246 | #endif |
247 | .restart = ixp4xx_restart, | ||
247 | MACHINE_END | 248 | MACHINE_END |
diff --git a/arch/arm/mach-ixp4xx/wg302v2-setup.c b/arch/arm/mach-ixp4xx/wg302v2-setup.c index b14144b967a7..5ac0f0a0fd8c 100644 --- a/arch/arm/mach-ixp4xx/wg302v2-setup.c +++ b/arch/arm/mach-ixp4xx/wg302v2-setup.c | |||
@@ -105,5 +105,6 @@ MACHINE_START(WG302V2, "Netgear WG302 v2 / WAG302 v2") | |||
105 | #if defined(CONFIG_PCI) | 105 | #if defined(CONFIG_PCI) |
106 | .dma_zone_size = SZ_64M, | 106 | .dma_zone_size = SZ_64M, |
107 | #endif | 107 | #endif |
108 | .restart = ixp4xx_restart, | ||
108 | MACHINE_END | 109 | MACHINE_END |
109 | #endif | 110 | #endif |