Hi Alexander,
Thanks for your comments.
I've posted a different solution for arm only here, that just causes a while loop in machine_power_off in the event it's called but does not halt.
https://lkml.org/lkml/2014/3/24/299
On 25 March 2014 11:38, Alexander Holler holler@ahsoftware.de wrote:
Both states, power off and sys halt, do sound pretty final and I would assume something is broken, if power off is called before sys halt or vice versa. At least I would never expect that the reboot/poweroff/syshalt notifier may be called twice (and thats why the heartbeat-trigger may crash).
But just in case, changing that behaviour in ledtrig-heartbeat.c would be pretty easy, just remove the heartbeat_reboot_notifier (which plays nice and deregisters the trigger on reboot) and use the panic_notifier (which doesn't unregister the trigger but just turns off the led) for reboot too. Another solution would be to unregister the reboot_notifier in the reboot_nofifier itself. I've just seen one watchdog driver (drivers/rtc/rtc-m41t80.c) which does that. But I still think such shouldn't be necessary (and I haven't had a look at other reboot_notifier users).
I hope this will all be handled by the loop in machine_power_off, so maybe this will not be needed.
Thanks!
Sebastian