Commit 7b5fcd69 authored by Manuel Lauss's avatar Manuel Lauss Committed by Ralf Baechle

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 32fd6901)
Signed-off-by: default avatarManuel Lauss <manuel.lauss@gmail.com>
To: Linux-MIPS <linux-mips@linux-mips.org>
Patchwork: http://patchwork.linux-mips.org/patch/1085/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent b8853aa3
...@@ -27,8 +27,10 @@ ...@@ -27,8 +27,10 @@
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/pm.h>
#include <asm/mach-au1x00/au1000.h> #include <asm/mach-au1x00/au1000.h>
#include <asm/mach-pb1x00/pb1000.h> #include <asm/mach-pb1x00/pb1000.h>
#include <asm/reboot.h>
#include <prom.h> #include <prom.h>
#include "../platform.h" #include "../platform.h"
...@@ -38,8 +40,16 @@ const char *get_system_type(void) ...@@ -38,8 +40,16 @@ const char *get_system_type(void)
return "Alchemy Pb1000"; return "Alchemy Pb1000";
} }
void board_reset(void) static void board_reset(char *c)
{ {
asm volatile ("jr %0" : : "r" (0xbfc00000));
}
static void board_power_off(void)
{
printk(KERN_ALERT "It's now safe to remove power\n");
while (1)
asm volatile (".set mips3 ; wait ; .set mips1");
} }
void __init board_setup(void) void __init board_setup(void)
...@@ -177,6 +187,10 @@ void __init board_setup(void) ...@@ -177,6 +187,10 @@ void __init board_setup(void)
au_writel(au_readl(SYS_POWERCTRL) | (0x3 << 5), SYS_POWERCTRL); au_writel(au_readl(SYS_POWERCTRL) | (0x3 << 5), SYS_POWERCTRL);
break; break;
} }
pm_power_off = board_power_off;
_machine_halt = board_power_off;
_machine_restart = board_reset;
} }
static int __init pb1000_init_irq(void) static int __init pb1000_init_irq(void)
......
...@@ -39,11 +39,6 @@ const char *get_system_type(void) ...@@ -39,11 +39,6 @@ const char *get_system_type(void)
return "Alchemy Pb1100"; return "Alchemy Pb1100";
} }
void board_reset(void)
{
bcsr_write(BCSR_SYSTEM, 0);
}
void __init board_setup(void) void __init board_setup(void)
{ {
volatile void __iomem *base = (volatile void __iomem *)0xac000000UL; volatile void __iomem *base = (volatile void __iomem *)0xac000000UL;
......
...@@ -48,12 +48,6 @@ const char *get_system_type(void) ...@@ -48,12 +48,6 @@ const char *get_system_type(void)
return "Alchemy Pb1200"; return "Alchemy Pb1200";
} }
void board_reset(void)
{
bcsr_write(BCSR_RESETS, 0);
bcsr_write(BCSR_SYSTEM, 0);
}
void __init board_setup(void) void __init board_setup(void)
{ {
printk(KERN_INFO "AMD Alchemy Pb1200 Board\n"); printk(KERN_INFO "AMD Alchemy Pb1200 Board\n");
......
...@@ -45,11 +45,6 @@ const char *get_system_type(void) ...@@ -45,11 +45,6 @@ const char *get_system_type(void)
return "Alchemy Pb1500"; return "Alchemy Pb1500";
} }
void board_reset(void)
{
bcsr_write(BCSR_SYSTEM, 0);
}
void __init board_setup(void) void __init board_setup(void)
{ {
u32 pin_func; u32 pin_func;
......
...@@ -48,11 +48,6 @@ const char *get_system_type(void) ...@@ -48,11 +48,6 @@ const char *get_system_type(void)
return "Alchemy Pb1550"; return "Alchemy Pb1550";
} }
void board_reset(void)
{
bcsr_write(BCSR_SYSTEM, 0);
}
void __init board_setup(void) void __init board_setup(void)
{ {
u32 pin_func; u32 pin_func;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment