On Fri, Nov 01, 2013 at 09:58:49AM -0600, Stephen Warren wrote: > For PMICs that provide power off, we've been adding a property to DT to > indicate whether the PMIC is *the* system power off controller or not. > If the property is present, the PMIC registers itself in the poweroff > hook. If not, it doesn't. So, there really isn't an algorithm for > selecting the power off mechanism, but rather we designate one mechanism > ahead of time, and that's the only one that's relevant. We could > probably do the same for reset mechanisms. > > I guess the vexpress situation is actually the same; there's a single > concept of a custom vexpress reset, it's just that sysfs is used to > select exactly what that does? I'm not aware of that. Vexpress has the following mechanisms: - reset - this causes the system to be restarted without powering off. - restart - this causes the system to be powered off and back on. - poweroff - this causes the system to power off. Obviously, poweroff is what needs to happen when someone issues the poweroff command (or, when we get hibernate support, the power off hook will also be called to power the system off after saving all system state.) So, a power off callback really better power the system off and not reboot it. reset vs restart is a choice, and one of those should happen as a result of the reboot command, or other similar event which ends up requesting a system restart. That may be configurable. Ultimately though, this should have no bearing on the hooking of poweroff and restart callbacks; the only difference there is on Vexpress is the function code passed to the system controller.