aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/devboards
diff options
context:
space:
mode:
authorManuel Lauss <manuel.lauss@googlemail.com>2010-03-25 17:55:38 -0400
committerRalf Baechle <ralf@linux-mips.org>2010-05-21 16:31:15 -0400
commit7b5fcd694dffd1db294dd4ef9f90911852e422f5 (patch)
tree12ed508995204ea32d86186f18816e3f0bacfd70 /arch/mips/alchemy/devboards
parentb8853aa3d912f47f649ad8de784ac3afd932437d (diff)
MIPS: Alchemy: Fix up residual devboard poweroff/reboot code.
Clean out stray unused board_reset() calls in pb1x boards, the PB1000 is different from the rest and gets private methods. (Cleanup after 32fd6901a6d8d19f94e4de6be4e4b552ab078620) Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> To: Linux-MIPS <linux-mips@linux-mips.org> Patchwork: http://patchwork.linux-mips.org/patch/1085/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/alchemy/devboards')
-rw-r--r--arch/mips/alchemy/devboards/pb1000/board_setup.c16
-rw-r--r--arch/mips/alchemy/devboards/pb1100/board_setup.c5
-rw-r--r--arch/mips/alchemy/devboards/pb1200/board_setup.c6
-rw-r--r--arch/mips/alchemy/devboards/pb1500/board_setup.c5
-rw-r--r--arch/mips/alchemy/devboards/pb1550/board_setup.c5
5 files changed, 15 insertions, 22 deletions
diff --git a/arch/mips/alchemy/devboards/pb1000/board_setup.c b/arch/mips/alchemy/devboards/pb1000/board_setup.c
index b5311d8a29ab..4ef50d86b181 100644
--- a/arch/mips/alchemy/devboards/pb1000/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1000/board_setup.c
@@ -27,8 +27,10 @@
27#include <linux/gpio.h> 27#include <linux/gpio.h>
28#include <linux/init.h> 28#include <linux/init.h>
29#include <linux/interrupt.h> 29#include <linux/interrupt.h>
30#include <linux/pm.h>
30#include <asm/mach-au1x00/au1000.h> 31#include <asm/mach-au1x00/au1000.h>
31#include <asm/mach-pb1x00/pb1000.h> 32#include <asm/mach-pb1x00/pb1000.h>
33#include <asm/reboot.h>
32#include <prom.h> 34#include <prom.h>
33 35
34#include "../platform.h" 36#include "../platform.h"
@@ -38,8 +40,16 @@ const char *get_system_type(void)
38 return "Alchemy Pb1000"; 40 return "Alchemy Pb1000";
39} 41}
40 42
41void board_reset(void) 43static void board_reset(char *c)
42{ 44{
45 asm volatile ("jr %0" : : "r" (0xbfc00000));
46}
47
48static void board_power_off(void)
49{
50 printk(KERN_ALERT "It's now safe to remove power\n");
51 while (1)
52 asm volatile (".set mips3 ; wait ; .set mips1");
43} 53}
44 54
45void __init board_setup(void) 55void __init board_setup(void)
@@ -177,6 +187,10 @@ void __init board_setup(void)
177 au_writel(au_readl(SYS_POWERCTRL) | (0x3 << 5), SYS_POWERCTRL); 187 au_writel(au_readl(SYS_POWERCTRL) | (0x3 << 5), SYS_POWERCTRL);
178 break; 188 break;
179 } 189 }
190
191 pm_power_off = board_power_off;
192 _machine_halt = board_power_off;
193 _machine_restart = board_reset;
180} 194}
181 195
182static int __init pb1000_init_irq(void) 196static int __init pb1000_init_irq(void)
diff --git a/arch/mips/alchemy/devboards/pb1100/board_setup.c b/arch/mips/alchemy/devboards/pb1100/board_setup.c
index c7b4caa81a35..90dda5f3ecc5 100644
--- a/arch/mips/alchemy/devboards/pb1100/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1100/board_setup.c
@@ -39,11 +39,6 @@ const char *get_system_type(void)
39 return "Alchemy Pb1100"; 39 return "Alchemy Pb1100";
40} 40}
41 41
42void board_reset(void)
43{
44 bcsr_write(BCSR_SYSTEM, 0);
45}
46
47void __init board_setup(void) 42void __init board_setup(void)
48{ 43{
49 volatile void __iomem *base = (volatile void __iomem *)0xac000000UL; 44 volatile void __iomem *base = (volatile void __iomem *)0xac000000UL;
diff --git a/arch/mips/alchemy/devboards/pb1200/board_setup.c b/arch/mips/alchemy/devboards/pb1200/board_setup.c
index 3184063f8042..8b4466f2d44a 100644
--- a/arch/mips/alchemy/devboards/pb1200/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1200/board_setup.c
@@ -48,12 +48,6 @@ const char *get_system_type(void)
48 return "Alchemy Pb1200"; 48 return "Alchemy Pb1200";
49} 49}
50 50
51void board_reset(void)
52{
53 bcsr_write(BCSR_RESETS, 0);
54 bcsr_write(BCSR_SYSTEM, 0);
55}
56
57void __init board_setup(void) 51void __init board_setup(void)
58{ 52{
59 printk(KERN_INFO "AMD Alchemy Pb1200 Board\n"); 53 printk(KERN_INFO "AMD Alchemy Pb1200 Board\n");
diff --git a/arch/mips/alchemy/devboards/pb1500/board_setup.c b/arch/mips/alchemy/devboards/pb1500/board_setup.c
index fa9770ac358a..9cd9dfa698e7 100644
--- a/arch/mips/alchemy/devboards/pb1500/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1500/board_setup.c
@@ -45,11 +45,6 @@ const char *get_system_type(void)
45 return "Alchemy Pb1500"; 45 return "Alchemy Pb1500";
46} 46}
47 47
48void board_reset(void)
49{
50 bcsr_write(BCSR_SYSTEM, 0);
51}
52
53void __init board_setup(void) 48void __init board_setup(void)
54{ 49{
55 u32 pin_func; 50 u32 pin_func;
diff --git a/arch/mips/alchemy/devboards/pb1550/board_setup.c b/arch/mips/alchemy/devboards/pb1550/board_setup.c
index 1e8fb3ddd726..9d7d6edafa8d 100644
--- a/arch/mips/alchemy/devboards/pb1550/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1550/board_setup.c
@@ -48,11 +48,6 @@ const char *get_system_type(void)
48 return "Alchemy Pb1550"; 48 return "Alchemy Pb1550";
49} 49}
50 50
51void board_reset(void)
52{
53 bcsr_write(BCSR_SYSTEM, 0);
54}
55
56void __init board_setup(void) 51void __init board_setup(void)
57{ 52{
58 u32 pin_func; 53 u32 pin_func;