diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-11-05 07:26:32 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-05 07:57:13 -0500 |
commit | bec92b1ec67b4998b6a3bad7c2f03c846cbac71e (patch) | |
tree | 5c996369d1891f52e1dc7c5ff1e0e33e68a78395 /arch/arm/mach-iop32x | |
parent | 6338b66f8a8c5bc8ff8671acbfdda02756e92c0a (diff) |
ARM: restart: iop3xx: use new restart hook
Hook these platforms restart code into the arm_pm_restart hook rather
than using arch_reset().
In doing so, we split out the n2100 platform specific restart handler
into the n2100 platform file.
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-iop32x')
-rw-r--r-- | arch/arm/mach-iop32x/em7210.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/glantank.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/include/mach/system.h | 15 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/iq31244.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/iq80321.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-iop32x/n2100.c | 9 |
6 files changed, 14 insertions, 15 deletions
diff --git a/arch/arm/mach-iop32x/em7210.c b/arch/arm/mach-iop32x/em7210.c index 4325055d4e19..24069e03fdc1 100644 --- a/arch/arm/mach-iop32x/em7210.c +++ b/arch/arm/mach-iop32x/em7210.c | |||
@@ -208,4 +208,5 @@ MACHINE_START(EM7210, "Lanner EM7210") | |||
208 | .init_irq = iop32x_init_irq, | 208 | .init_irq = iop32x_init_irq, |
209 | .timer = &em7210_timer, | 209 | .timer = &em7210_timer, |
210 | .init_machine = em7210_init_machine, | 210 | .init_machine = em7210_init_machine, |
211 | .restart = iop3xx_restart, | ||
211 | MACHINE_END | 212 | MACHINE_END |
diff --git a/arch/arm/mach-iop32x/glantank.c b/arch/arm/mach-iop32x/glantank.c index 0edc88020577..204e1d1cd766 100644 --- a/arch/arm/mach-iop32x/glantank.c +++ b/arch/arm/mach-iop32x/glantank.c | |||
@@ -212,4 +212,5 @@ MACHINE_START(GLANTANK, "GLAN Tank") | |||
212 | .init_irq = iop32x_init_irq, | 212 | .init_irq = iop32x_init_irq, |
213 | .timer = &glantank_timer, | 213 | .timer = &glantank_timer, |
214 | .init_machine = glantank_init_machine, | 214 | .init_machine = glantank_init_machine, |
215 | .restart = iop3xx_restart, | ||
215 | MACHINE_END | 216 | MACHINE_END |
diff --git a/arch/arm/mach-iop32x/include/mach/system.h b/arch/arm/mach-iop32x/include/mach/system.h index b4f83e5973b2..44e46f2d57f4 100644 --- a/arch/arm/mach-iop32x/include/mach/system.h +++ b/arch/arm/mach-iop32x/include/mach/system.h | |||
@@ -7,10 +7,6 @@ | |||
7 | * it under the terms of the GNU General Public License version 2 as | 7 | * it under the terms of the GNU General Public License version 2 as |
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | */ | 9 | */ |
10 | #include <asm/mach-types.h> | ||
11 | #include <asm/hardware/iop3xx.h> | ||
12 | #include <mach/n2100.h> | ||
13 | |||
14 | static inline void arch_idle(void) | 10 | static inline void arch_idle(void) |
15 | { | 11 | { |
16 | cpu_do_idle(); | 12 | cpu_do_idle(); |
@@ -18,15 +14,4 @@ static inline void arch_idle(void) | |||
18 | 14 | ||
19 | static inline void arch_reset(char mode, const char *cmd) | 15 | static inline void arch_reset(char mode, const char *cmd) |
20 | { | 16 | { |
21 | if (machine_is_n2100()) { | ||
22 | gpio_line_set(N2100_HARDWARE_RESET, GPIO_LOW); | ||
23 | gpio_line_config(N2100_HARDWARE_RESET, GPIO_OUT); | ||
24 | while (1) | ||
25 | ; | ||
26 | } | ||
27 | |||
28 | *IOP3XX_PCSR = 0x30; | ||
29 | |||
30 | /* Jump into ROM at address 0 */ | ||
31 | soft_restart(0); | ||
32 | } | 17 | } |
diff --git a/arch/arm/mach-iop32x/iq31244.c b/arch/arm/mach-iop32x/iq31244.c index 9e7aaccfeba0..3eb642af1cdc 100644 --- a/arch/arm/mach-iop32x/iq31244.c +++ b/arch/arm/mach-iop32x/iq31244.c | |||
@@ -318,6 +318,7 @@ MACHINE_START(IQ31244, "Intel IQ31244") | |||
318 | .init_irq = iop32x_init_irq, | 318 | .init_irq = iop32x_init_irq, |
319 | .timer = &iq31244_timer, | 319 | .timer = &iq31244_timer, |
320 | .init_machine = iq31244_init_machine, | 320 | .init_machine = iq31244_init_machine, |
321 | .restart = iop3xx_restart, | ||
321 | MACHINE_END | 322 | MACHINE_END |
322 | 323 | ||
323 | /* There should have been an ep80219 machine identifier from the beginning. | 324 | /* There should have been an ep80219 machine identifier from the beginning. |
@@ -332,4 +333,5 @@ MACHINE_START(EP80219, "Intel EP80219") | |||
332 | .init_irq = iop32x_init_irq, | 333 | .init_irq = iop32x_init_irq, |
333 | .timer = &iq31244_timer, | 334 | .timer = &iq31244_timer, |
334 | .init_machine = iq31244_init_machine, | 335 | .init_machine = iq31244_init_machine, |
336 | .restart = iop3xx_restart, | ||
335 | MACHINE_END | 337 | MACHINE_END |
diff --git a/arch/arm/mach-iop32x/iq80321.c b/arch/arm/mach-iop32x/iq80321.c index 53ea86f649dd..2ec724b58a2c 100644 --- a/arch/arm/mach-iop32x/iq80321.c +++ b/arch/arm/mach-iop32x/iq80321.c | |||
@@ -191,4 +191,5 @@ MACHINE_START(IQ80321, "Intel IQ80321") | |||
191 | .init_irq = iop32x_init_irq, | 191 | .init_irq = iop32x_init_irq, |
192 | .timer = &iq80321_timer, | 192 | .timer = &iq80321_timer, |
193 | .init_machine = iq80321_init_machine, | 193 | .init_machine = iq80321_init_machine, |
194 | .restart = iop3xx_restart, | ||
194 | MACHINE_END | 195 | MACHINE_END |
diff --git a/arch/arm/mach-iop32x/n2100.c b/arch/arm/mach-iop32x/n2100.c index d7269279968c..6b6d55912444 100644 --- a/arch/arm/mach-iop32x/n2100.c +++ b/arch/arm/mach-iop32x/n2100.c | |||
@@ -291,6 +291,14 @@ static void n2100_power_off(void) | |||
291 | ; | 291 | ; |
292 | } | 292 | } |
293 | 293 | ||
294 | static void n2100_restart(char mode, const char *cmd) | ||
295 | { | ||
296 | gpio_line_set(N2100_HARDWARE_RESET, GPIO_LOW); | ||
297 | gpio_line_config(N2100_HARDWARE_RESET, GPIO_OUT); | ||
298 | while (1) | ||
299 | ; | ||
300 | } | ||
301 | |||
294 | 302 | ||
295 | static struct timer_list power_button_poll_timer; | 303 | static struct timer_list power_button_poll_timer; |
296 | 304 | ||
@@ -332,4 +340,5 @@ MACHINE_START(N2100, "Thecus N2100") | |||
332 | .init_irq = iop32x_init_irq, | 340 | .init_irq = iop32x_init_irq, |
333 | .timer = &n2100_timer, | 341 | .timer = &n2100_timer, |
334 | .init_machine = n2100_init_machine, | 342 | .init_machine = n2100_init_machine, |
343 | .restart = n2100_restart, | ||
335 | MACHINE_END | 344 | MACHINE_END |