MIPS: Loongson: Split common loongson source code out
To share common loongson source code between all of the loongson-based machines. there is a need to split it out of the fuloong-2e/ directory. at the same time, other according tuning is needed. the machine-specific parts are defined as macros in relative header file, pci.h, mem.h, machine.h. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
committed by
Ralf Baechle
parent
8e4971175a
commit
85749d24bc
44
arch/mips/loongson/common/reset.c
Normal file
44
arch/mips/loongson/common/reset.c
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* Copyright (C) 2007 Lemote, Inc. & Institute of Computing Technology
|
||||
* Author: Fuxin Zhang, zhangfx@lemote.com
|
||||
* Copyright (C) 2009 Lemote, Inc. & Institute of Computing Technology
|
||||
* Author: Zhangjin Wu, wuzj@lemote.com
|
||||
*/
|
||||
#include <linux/init.h>
|
||||
#include <linux/pm.h>
|
||||
|
||||
#include <asm/reboot.h>
|
||||
|
||||
#include <loongson.h>
|
||||
|
||||
static void loongson_restart(char *command)
|
||||
{
|
||||
/* do preparation for reboot */
|
||||
mach_prepare_reboot();
|
||||
|
||||
/* reboot via jumping to boot base address */
|
||||
((void (*)(void))ioremap_nocache(BONITO_BOOT_BASE, 4)) ();
|
||||
}
|
||||
|
||||
static void loongson_halt(void)
|
||||
{
|
||||
mach_prepare_shutdown();
|
||||
while (1)
|
||||
;
|
||||
}
|
||||
|
||||
static int __init mips_reboot_setup(void)
|
||||
{
|
||||
_machine_restart = loongson_restart;
|
||||
_machine_halt = loongson_halt;
|
||||
pm_power_off = loongson_halt;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
arch_initcall(mips_reboot_setup);
|
Reference in New Issue
Block a user