Hi all! At the moment there are two power management drivers in the linux kernel (AFAIK). They each have different userspace interfaces -- /proc/apm and /dev/apmctl and /proc/sys/acpi/events or something. This is not altogether bad, but as they do the same thing, it might be nice to unify (part) of the interface. In fact this is already done for the in kernel interface with pm_send_all. The kernel patch below extends the pm_send_all idea to ask userspace if the event causing it should be allowed to go ahead or not. This functionality is useful to me, because my power button sends an APM user suspend to the kernel, which I wish to convert into a clean shutdown -p now. The functionality is only hooked up to the APM driver at the moment (because that was the only caller of pm_send_all that I could find and ACPI doesn't seem to do anything useful on my box). The kernel will run /sbin/powermanager (proc configurable) when it receives a rejectable PM event. This is to my mind preferable to having a power daemon because a PM event might occur even when the daemon isn't started yet, you waste a process entry the whole time, I'd have to implement a bunch of special file ops and binary interfaces, and to parallel the hotplug system. There is an APM specific patch floating around that would permit apmd to reject suspend events. I played around with it for a bit updating it to the late 2.4.0-test12 but I didn't like it because it did suspend() directly after receiving the event from the BIOS, so my box would suspend briefly before rejecting the event. An example /sbin/powermanager should be being uploaded to my homepage as I write: http://www.penguinpowered.com/~vii/programs/linux/offbutton or http://john.snoop.dk/programs/linux/offbutton The patch has been working fine for me in various forms since 2.4.0-prerelease came out, though I'm hardly a power user (pun). It is against linux 2.4.0.