root/arch/sparc/kernel/reboot.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. machine_power_off
  2. machine_halt
  3. machine_restart

   1 // SPDX-License-Identifier: GPL-2.0
   2 /* reboot.c: reboot/shutdown/halt/poweroff handling
   3  *
   4  * Copyright (C) 2008 David S. Miller <davem@davemloft.net>
   5  */
   6 #include <linux/kernel.h>
   7 #include <linux/reboot.h>
   8 #include <linux/export.h>
   9 #include <linux/pm.h>
  10 #include <linux/of.h>
  11 
  12 #include <asm/oplib.h>
  13 #include <asm/prom.h>
  14 #include <asm/setup.h>
  15 
  16 /* sysctl - toggle power-off restriction for serial console
  17  * systems in machine_power_off()
  18  */
  19 int scons_pwroff = 1;
  20 
  21 /* This isn't actually used, it exists merely to satisfy the
  22  * reference in kernel/sys.c
  23  */
  24 void (*pm_power_off)(void) = machine_power_off;
  25 EXPORT_SYMBOL(pm_power_off);
  26 
  27 void machine_power_off(void)
  28 {
  29         if (!of_node_is_type(of_console_device, "serial") || scons_pwroff)
  30                 prom_halt_power_off();
  31 
  32         prom_halt();
  33 }
  34 
  35 void machine_halt(void)
  36 {
  37         prom_halt();
  38         panic("Halt failed!");
  39 }
  40 
  41 void machine_restart(char *cmd)
  42 {
  43         char *p;
  44 
  45         p = strchr(reboot_command, '\n');
  46         if (p)
  47                 *p = 0;
  48         if (cmd)
  49                 prom_reboot(cmd);
  50         if (*reboot_command)
  51                 prom_reboot(reboot_command);
  52         prom_reboot("");
  53         panic("Reboot failed!");
  54 }
  55 

/* [<][>][^][v][top][bottom][index][help] */