GNU Linux-libre 6.7.9-gnu
[releases.git] / arch / riscv / kernel / reset.c
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Copyright (C) 2012 Regents of the University of California
4  */
5
6 #include <linux/reboot.h>
7 #include <linux/pm.h>
8
9 static void default_power_off(void)
10 {
11         while (1)
12                 wait_for_interrupt();
13 }
14
15 void (*pm_power_off)(void) = NULL;
16 EXPORT_SYMBOL(pm_power_off);
17
18 void machine_restart(char *cmd)
19 {
20         do_kernel_restart(cmd);
21         while (1);
22 }
23
24 void machine_halt(void)
25 {
26         do_kernel_power_off();
27         default_power_off();
28 }
29
30 void machine_power_off(void)
31 {
32         do_kernel_power_off();
33         default_power_off();
34 }