zzz: Rewrite to use new power device

Previous script called acpiconf(8) (or apm(8) if ACPI wasn't supported,
although this was anyway redundant because APMIO just uses ACPI now).

Since a new generic power management interface was introduced, this isn't
sufficient, as this would only work for ACPI systems and for ACPI S3 suspend
(so no way to select suspend-to-idle). Rewrite in C to take advantage of the
new power interface.

We may want to add a switch to manually override the kern.power.suspend sysctl,
which is otherwise what the power device uses to decide which suspend type to
switch to (suspend-to-idle or firmware suspend), but this will require us to
amend the power interface.

Reviewed by:	olce, imp, mhorne, ziaee
Tested by:	mhorne
Approved by:	olce, imp, mhorne, ziaee
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D56918
This commit is contained in:
Aymeric Wibo committed 2026-05-27 00:05:45 +01:00
1 parent 14b8531c4c
commit aba599a6cc
5 files changed
+92 -87

No files matched your search

+1
View File
@@ -54,6 +54,7 @@
#define _PATH_DEFTAPE "/dev/sa0"
#define _PATH_DEVGPIOC "/dev/gpioc"
#define _PATH_DEVNULL "/dev/null"
#define _PATH_DEVPOWER "/dev/power"
#define _PATH_DEVZERO "/dev/zero"
#define _PATH_DRUM "/dev/drum"
#define _PATH_ESDB "/usr/share/i18n/esdb"