/usr/sbin/pm-suspend fails on my PowerBook, with the following complaint: Error: kernel cannot suspend to ram. Commenting out the offending check makes it work, since it talks to the PMU directly.
Really? That's it? I had assumed the kernel actually wasn't capable of suspending to RAM on PMU-using machines. The check you're referring to, I assume, is this: if ! grep -q mem /sys/power/state ; then echo "Error: kernel cannot suspend to ram." 1>&2 exit 1 fi Is there an equivalent sysfs file for PMU state/capabilities? Maybe the kernel needs a simple patch to export the PMU info in /sys/power/state?
The kernel has been suspending to RAM on PMU-based machines for _much_ longer than it's been doing so with ACPI crap. There is work afoot to make the kernel suspend/resume using the "generic" stuff in /sys/power/state, but it isn't yet ready -- it isn't just a simple patch, because that "generic" code was fairly poorly-designed. I don't believe there's a sysfs file you can query to check if the machine can suspend. Trust HAL; it has a special case.
Actually I have some working patches which make /sys/power/state work. I'll look at putting them into the rawhide kernel.
The kernel now lets you use /sys/power/state.