When issuing a "shutdown -h now", the reboot syscall calls kernel_halt()
which shouldn't return, otherwise one gets this panic:
reboot: System halted
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000
CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 4.16.0-32bit+ #560
Backtrace:
 [<
1018a694>] show_stack+0x18/0x28
 [<
106e68a8>] dump_stack+0x80/0x10c
 [<
101a4df8>] panic+0xfc/0x290
 [<
101a90b8>] do_exit+0x73c/0x914
 [<
101c7e38>] SyS_reboot+0x190/0x1d4
 [<
1017e444>] syscall_exit+0x0/0x14
Fix it by letting machine_halt() call machine_power_off() which doesn't
return.
Signed-off-by: Helge Deller <deller@gmx.de>
 
 }
 
-void machine_halt(void)
-{
-       /*
-       ** The LED/ChassisCodes are updated by the led_halt()
-       ** function, called by the reboot notifier chain.
-       */
-}
-
 void (*chassis_power_off)(void);
 
 /*
 void (*pm_power_off)(void);
 EXPORT_SYMBOL(pm_power_off);
 
+void machine_halt(void)
+{
+       machine_power_off();
+}
+
 void flush_thread(void)
 {
        /* Only needs to handle fpu stuff or perf monitors.