static inline void ip32_power_button(void) { if (has_paniced) return; if (shuting_down || kill_proc(1, SIGINT, 1)) { /* No init process or button pressed twice. */ ip32_machine_power_off(); } shuting_down = 1; blink_timer.data = POWERDOWN_FREQ; blink_timeout(POWERDOWN_FREQ); init_timer(&power_timer); power_timer.function = power_timeout; power_timer.expires = jiffies + POWERDOWN_TIMEOUT * HZ; add_timer(&power_timer); }
static void power_timeout(unsigned long data) { ip32_machine_power_off(); }
static inline void ip32_machine_halt(void) { if (shuting_down) ip32_machine_power_off(); ArcEnterInteractiveMode(); }
static void ip32_machine_restart(char *cmd) { if (shuting_down) ip32_machine_power_off(); ArcReboot(); }
static inline void ip32_machine_halt(void) { ip32_machine_power_off(); }