Commit 3275166e0355131aa2349bf614a32591cfe1e118
1 parent
da908260f2
Exists in
master
and in
6 other branches
ARM: restart: ep93xx: use new restart hook
Hook these platforms restart code into the new restart hook rather than using arch_reset(). Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Showing 11 changed files with 32 additions and 11 deletions Side-by-side Diff
- arch/arm/mach-ep93xx/adssphere.c
- arch/arm/mach-ep93xx/core.c
- arch/arm/mach-ep93xx/edb93xx.c
- arch/arm/mach-ep93xx/gesbc9312.c
- arch/arm/mach-ep93xx/include/mach/platform.h
- arch/arm/mach-ep93xx/include/mach/system.h
- arch/arm/mach-ep93xx/micro9.c
- arch/arm/mach-ep93xx/simone.c
- arch/arm/mach-ep93xx/snappercl15.c
- arch/arm/mach-ep93xx/ts72xx.c
- arch/arm/mach-ep93xx/vision_ep9307.c
arch/arm/mach-ep93xx/adssphere.c
arch/arm/mach-ep93xx/core.c
... | ... | @@ -906,4 +906,16 @@ |
906 | 906 | platform_device_register(&ep93xx_ohci_device); |
907 | 907 | platform_device_register(&ep93xx_leds); |
908 | 908 | } |
909 | + | |
910 | +void ep93xx_restart(char mode, const char *cmd) | |
911 | +{ | |
912 | + /* | |
913 | + * Set then clear the SWRST bit to initiate a software reset | |
914 | + */ | |
915 | + ep93xx_devcfg_set_bits(EP93XX_SYSCON_DEVCFG_SWRST); | |
916 | + ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_SWRST); | |
917 | + | |
918 | + while (1) | |
919 | + ; | |
920 | +} |
arch/arm/mach-ep93xx/edb93xx.c
... | ... | @@ -252,6 +252,7 @@ |
252 | 252 | .init_irq = ep93xx_init_irq, |
253 | 253 | .timer = &ep93xx_timer, |
254 | 254 | .init_machine = edb93xx_init_machine, |
255 | + .restart = ep93xx_restart, | |
255 | 256 | MACHINE_END |
256 | 257 | #endif |
257 | 258 | |
... | ... | @@ -263,6 +264,7 @@ |
263 | 264 | .init_irq = ep93xx_init_irq, |
264 | 265 | .timer = &ep93xx_timer, |
265 | 266 | .init_machine = edb93xx_init_machine, |
267 | + .restart = ep93xx_restart, | |
266 | 268 | MACHINE_END |
267 | 269 | #endif |
268 | 270 | |
... | ... | @@ -274,6 +276,7 @@ |
274 | 276 | .init_irq = ep93xx_init_irq, |
275 | 277 | .timer = &ep93xx_timer, |
276 | 278 | .init_machine = edb93xx_init_machine, |
279 | + .restart = ep93xx_restart, | |
277 | 280 | MACHINE_END |
278 | 281 | #endif |
279 | 282 | |
... | ... | @@ -285,6 +288,7 @@ |
285 | 288 | .init_irq = ep93xx_init_irq, |
286 | 289 | .timer = &ep93xx_timer, |
287 | 290 | .init_machine = edb93xx_init_machine, |
291 | + .restart = ep93xx_restart, | |
288 | 292 | MACHINE_END |
289 | 293 | #endif |
290 | 294 | |
... | ... | @@ -296,6 +300,7 @@ |
296 | 300 | .init_irq = ep93xx_init_irq, |
297 | 301 | .timer = &ep93xx_timer, |
298 | 302 | .init_machine = edb93xx_init_machine, |
303 | + .restart = ep93xx_restart, | |
299 | 304 | MACHINE_END |
300 | 305 | #endif |
301 | 306 | |
... | ... | @@ -307,6 +312,7 @@ |
307 | 312 | .init_irq = ep93xx_init_irq, |
308 | 313 | .timer = &ep93xx_timer, |
309 | 314 | .init_machine = edb93xx_init_machine, |
315 | + .restart = ep93xx_restart, | |
310 | 316 | MACHINE_END |
311 | 317 | #endif |
312 | 318 | |
... | ... | @@ -318,6 +324,7 @@ |
318 | 324 | .init_irq = ep93xx_init_irq, |
319 | 325 | .timer = &ep93xx_timer, |
320 | 326 | .init_machine = edb93xx_init_machine, |
327 | + .restart = ep93xx_restart, | |
321 | 328 | MACHINE_END |
322 | 329 | #endif |
323 | 330 | |
... | ... | @@ -329,6 +336,7 @@ |
329 | 336 | .init_irq = ep93xx_init_irq, |
330 | 337 | .timer = &ep93xx_timer, |
331 | 338 | .init_machine = edb93xx_init_machine, |
339 | + .restart = ep93xx_restart, | |
332 | 340 | MACHINE_END |
333 | 341 | #endif |
arch/arm/mach-ep93xx/gesbc9312.c
arch/arm/mach-ep93xx/include/mach/platform.h
arch/arm/mach-ep93xx/include/mach/system.h
1 | 1 | /* |
2 | 2 | * arch/arm/mach-ep93xx/include/mach/system.h |
3 | 3 | */ |
4 | - | |
5 | -#include <mach/hardware.h> | |
6 | - | |
7 | 4 | static inline void arch_idle(void) |
8 | 5 | { |
9 | 6 | cpu_do_idle(); |
... | ... | @@ -11,13 +8,5 @@ |
11 | 8 | |
12 | 9 | static inline void arch_reset(char mode, const char *cmd) |
13 | 10 | { |
14 | - /* | |
15 | - * Set then clear the SWRST bit to initiate a software reset | |
16 | - */ | |
17 | - ep93xx_devcfg_set_bits(EP93XX_SYSCON_DEVCFG_SWRST); | |
18 | - ep93xx_devcfg_clear_bits(EP93XX_SYSCON_DEVCFG_SWRST); | |
19 | - | |
20 | - while (1) | |
21 | - ; | |
22 | 11 | } |
arch/arm/mach-ep93xx/micro9.c
... | ... | @@ -82,6 +82,7 @@ |
82 | 82 | .init_irq = ep93xx_init_irq, |
83 | 83 | .timer = &ep93xx_timer, |
84 | 84 | .init_machine = micro9_init_machine, |
85 | + .restart = ep93xx_restart, | |
85 | 86 | MACHINE_END |
86 | 87 | #endif |
87 | 88 | |
... | ... | @@ -93,6 +94,7 @@ |
93 | 94 | .init_irq = ep93xx_init_irq, |
94 | 95 | .timer = &ep93xx_timer, |
95 | 96 | .init_machine = micro9_init_machine, |
97 | + .restart = ep93xx_restart, | |
96 | 98 | MACHINE_END |
97 | 99 | #endif |
98 | 100 | |
... | ... | @@ -104,6 +106,7 @@ |
104 | 106 | .init_irq = ep93xx_init_irq, |
105 | 107 | .timer = &ep93xx_timer, |
106 | 108 | .init_machine = micro9_init_machine, |
109 | + .restart = ep93xx_restart, | |
107 | 110 | MACHINE_END |
108 | 111 | #endif |
109 | 112 | |
... | ... | @@ -115,6 +118,7 @@ |
115 | 118 | .init_irq = ep93xx_init_irq, |
116 | 119 | .timer = &ep93xx_timer, |
117 | 120 | .init_machine = micro9_init_machine, |
121 | + .restart = ep93xx_restart, | |
118 | 122 | MACHINE_END |
119 | 123 | #endif |
arch/arm/mach-ep93xx/simone.c
arch/arm/mach-ep93xx/snappercl15.c
arch/arm/mach-ep93xx/ts72xx.c