syscon_power: do reboot after shutdown_panic is executed

A syscon_power instance can handle either poweroff or reboot, but not
both.  If the instance handles reboot then set its priority to be after
shutdown_panic.

This is to provide uniform experience with other platforms.

MFC after:	3 weeks
This commit is contained in:
Andriy Gapon 2021-07-09 18:00:21 +03:00
parent 0f354b2b58
commit 5f7312a0d7

View File

@ -161,9 +161,11 @@ syscon_power_attach(device_t dev)
OF_getencprop(node, "value", &sc->value, sizeof(sc->value));
}
/* Handle reboot after shutdown_panic. */
sc->reboot = ofw_bus_is_compatible(dev, "syscon-reboot");
sc->shutdown_tag = EVENTHANDLER_REGISTER(shutdown_final,
syscon_power_shutdown_final, dev, SHUTDOWN_PRI_LAST);
syscon_power_shutdown_final, dev,
sc->reboot ? SHUTDOWN_PRI_LAST + 150 : SHUTDOWN_PRI_LAST);
return (0);
}