rjw | 1f88458 | 2022-01-06 17:20:42 +0800 | [diff] [blame^] | 1 | /* |
| 2 | * This file is subject to the terms and conditions of the GNU General Public |
| 3 | * License. See the file "COPYING" in the main directory of this archive |
| 4 | * for more details. |
| 5 | * |
| 6 | * Carsten Langgaard, carstenl@mips.com |
| 7 | * Copyright (C) 1999,2000 MIPS Technologies, Inc. All rights reserved. |
| 8 | */ |
| 9 | #include <linux/io.h> |
| 10 | #include <linux/pm.h> |
| 11 | #include <linux/reboot.h> |
| 12 | |
| 13 | #include <asm/reboot.h> |
| 14 | #include <asm/mach-malta/malta-pm.h> |
| 15 | |
| 16 | static void mips_machine_power_off(void) |
| 17 | { |
| 18 | mips_pm_suspend(PIIX4_FUNC3IO_PMCNTRL_SUS_TYP_SOFF); |
| 19 | |
| 20 | pr_info("Failed to power down, resetting\n"); |
| 21 | machine_restart(NULL); |
| 22 | } |
| 23 | |
| 24 | static int __init mips_reboot_setup(void) |
| 25 | { |
| 26 | pm_power_off = mips_machine_power_off; |
| 27 | |
| 28 | return 0; |
| 29 | } |
| 30 | arch_initcall(mips_reboot_setup); |