static void power_down(suspend_disk_method_t mode) { int error = 0; switch(mode) { case PM_DISK_PLATFORM: kernel_power_off_prepare(); error = pm_ops->enter(PM_SUSPEND_DISK); break; case PM_DISK_SHUTDOWN: kernel_power_off(); break; case PM_DISK_REBOOT: kernel_restart(NULL); break; } kernel_halt(); /* Valid image is on the disk, if we continue we risk serious data corruption after resume. */ printk(KERN_CRIT "Please power me down manually\n"); while(1); }
void kernel_power_off(void) { kernel_power_off_prepare(); printk(KERN_EMERG "Power down.\n"); machine_power_off(); }