power.c 491 B

12345678910111213141516171819202122232425262728
  1. // SPDX-License-Identifier: GPL-2.0
  2. // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
  3. #include <linux/reboot.h>
  4. void (*pm_power_off)(void);
  5. EXPORT_SYMBOL(pm_power_off);
  6. void machine_power_off(void)
  7. {
  8. local_irq_disable();
  9. do_kernel_power_off();
  10. asm volatile ("bkpt");
  11. }
  12. void machine_halt(void)
  13. {
  14. local_irq_disable();
  15. do_kernel_power_off();
  16. asm volatile ("bkpt");
  17. }
  18. void machine_restart(char *cmd)
  19. {
  20. local_irq_disable();
  21. do_kernel_restart(cmd);
  22. asm volatile ("bkpt");
  23. }