Commit 3275166e0355131aa2349bf614a32591cfe1e118

Authored by Russell King
1 parent da908260f2

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
... ... @@ -38,5 +38,6 @@
38 38 .init_irq = ep93xx_init_irq,
39 39 .timer = &ep93xx_timer,
40 40 .init_machine = adssphere_init_machine,
  41 + .restart = ep93xx_restart,
41 42 MACHINE_END
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
... ... @@ -38,5 +38,6 @@
38 38 .init_irq = ep93xx_init_irq,
39 39 .timer = &ep93xx_timer,
40 40 .init_machine = gesbc9312_init_machine,
  41 + .restart = ep93xx_restart,
41 42 MACHINE_END
arch/arm/mach-ep93xx/include/mach/platform.h
... ... @@ -66,5 +66,7 @@
66 66 void ep93xx_init_devices(void);
67 67 extern struct sys_timer ep93xx_timer;
68 68  
  69 +void ep93xx_restart(char, const char *);
  70 +
69 71 #endif
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
... ... @@ -82,5 +82,6 @@
82 82 .init_irq = ep93xx_init_irq,
83 83 .timer = &ep93xx_timer,
84 84 .init_machine = simone_init_machine,
  85 + .restart = ep93xx_restart,
85 86 MACHINE_END
arch/arm/mach-ep93xx/snappercl15.c
... ... @@ -179,5 +179,6 @@
179 179 .init_irq = ep93xx_init_irq,
180 180 .timer = &ep93xx_timer,
181 181 .init_machine = snappercl15_init_machine,
  182 + .restart = ep93xx_restart,
182 183 MACHINE_END
arch/arm/mach-ep93xx/ts72xx.c
... ... @@ -249,5 +249,6 @@
249 249 .init_irq = ep93xx_init_irq,
250 250 .timer = &ep93xx_timer,
251 251 .init_machine = ts72xx_init_machine,
  252 + .restart = ep93xx_restart,
252 253 MACHINE_END
arch/arm/mach-ep93xx/vision_ep9307.c
... ... @@ -361,5 +361,6 @@
361 361 .init_irq = ep93xx_init_irq,
362 362 .timer = &ep93xx_timer,
363 363 .init_machine = vision_init_machine,
  364 + .restart = ep93xx_restart,
364 365 MACHINE_END