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 32fd6901a6)

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>
This commit is contained in:
Manuel Lauss 2010-03-25 22:55:38 +01:00 committed by Ralf Baechle
parent b8853aa3d9
commit 7b5fcd694d
5 changed files with 15 additions and 22 deletions

View File

@ -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)
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)
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)

View File

@ -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;

View File

@ -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");

View File

@ -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;

View File

@ -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;