Date: Thu, 05 Feb 2026 15:11:37 +0000 From: Aymeric Wibo <obiwac@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: d35e369d0a7f - main - sys/power.h: enum power_sstate_transition Message-ID: <6984b329.3dcdf.7f2335f7@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=d35e369d0a7f37c580b89485a148d007faf05b52 commit d35e369d0a7f37c580b89485a148d007faf05b52 Author: Aymeric Wibo <obiwac@FreeBSD.org> AuthorDate: 2026-02-05 14:55:17 +0000 Commit: Aymeric Wibo <obiwac@FreeBSD.org> CommitDate: 2026-02-05 15:10:30 +0000 sys/power.h: enum power_sstate_transition Turn POWER_SLEEP_STATE_* defines into enum power_sstate_transition. Reviewed by: markj Approved by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52497 --- sys/dev/acpi_support/acpi_ibm.c | 7 ++++++- sys/dev/syscons/syscons.c | 4 ++-- sys/dev/vt/vt_core.c | 4 ++-- sys/kern/subr_power.c | 13 +++++++------ sys/sys/power.h | 18 ++++++++++-------- 5 files changed, 27 insertions(+), 19 deletions(-) diff --git a/sys/dev/acpi_support/acpi_ibm.c b/sys/dev/acpi_support/acpi_ibm.c index f895d48bb6d0..1221384e7d8a 100644 --- a/sys/dev/acpi_support/acpi_ibm.c +++ b/sys/dev/acpi_support/acpi_ibm.c @@ -1447,8 +1447,13 @@ acpi_ibm_eventhandler(struct acpi_ibm_softc *sc, int arg) ACPI_SERIAL_BEGIN(ibm); switch (arg) { + /* + * XXX "Suspend-to-RAM" here is as opposed to suspend-to-disk, but it is + * fine if our suspend sleep state transition request puts us in s2idle + * instead of suspend-to-RAM. + */ case IBM_EVENT_SUSPEND_TO_RAM: - power_pm_suspend(POWER_SLEEP_STATE_SUSPEND); + power_pm_suspend(POWER_SSTATE_TRANSITION_SUSPEND); break; case IBM_EVENT_BLUETOOTH: diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index e9d664f51a1f..1a2969d6f2d8 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -3987,10 +3987,10 @@ next_code: break; case SUSP: - power_pm_suspend(POWER_SLEEP_STATE_SUSPEND); + power_pm_suspend(POWER_SSTATE_TRANSITION_SUSPEND); break; case STBY: - power_pm_suspend(POWER_SLEEP_STATE_STANDBY); + power_pm_suspend(POWER_SSTATE_TRANSITION_STANDBY); break; case DBG: diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index a6a5f0eeff9d..fd18e85092db 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -804,11 +804,11 @@ vt_machine_kbdevent(struct vt_device *vd, int c) return (1); case SPCLKEY | STBY: /* XXX Not present in kbdcontrol parser. */ /* Put machine into Stand-By mode. */ - power_pm_suspend(POWER_SLEEP_STATE_STANDBY); + power_pm_suspend(POWER_SSTATE_TRANSITION_STANDBY); return (1); case SPCLKEY | SUSP: /* kbdmap(5) keyword `susp`. */ /* Suspend machine. */ - power_pm_suspend(POWER_SLEEP_STATE_SUSPEND); + power_pm_suspend(POWER_SSTATE_TRANSITION_SUSPEND); return (1); } diff --git a/sys/kern/subr_power.c b/sys/kern/subr_power.c index f5a581e42bf3..13448cfa4d1e 100644 --- a/sys/kern/subr_power.c +++ b/sys/kern/subr_power.c @@ -176,25 +176,26 @@ power_pm_get_type(void) } void -power_pm_suspend(int state) +power_pm_suspend(enum power_sstate_transition trans) { enum power_stype stype; if (power_pm_fn == NULL) return; - switch (state) { - case POWER_SLEEP_STATE_STANDBY: + switch (trans) { + case POWER_SSTATE_TRANSITION_STANDBY: stype = power_standby_stype; break; - case POWER_SLEEP_STATE_SUSPEND: + case POWER_SSTATE_TRANSITION_SUSPEND: stype = power_suspend_stype; break; - case POWER_SLEEP_STATE_HIBERNATE: + case POWER_SSTATE_TRANSITION_HIBERNATE: stype = power_hibernate_stype; break; default: - printf("%s: unknown sleep state %d\n", __func__, state); + printf("%s: unknown sleep state transition %d\n", __func__, + trans); return; } diff --git a/sys/sys/power.h b/sys/sys/power.h index 33ace400bfd2..d34af0ddb86a 100644 --- a/sys/sys/power.h +++ b/sys/sys/power.h @@ -45,22 +45,24 @@ #define POWER_CMD_SUSPEND 0x00 /* - * Sleep state. + * Sleep state transition requests. * * These are high-level sleep states that the system can enter. They map to * a specific generic sleep type (enum power_stype). */ -#define POWER_SLEEP_STATE_STANDBY 0x00 -#define POWER_SLEEP_STATE_SUSPEND 0x01 -#define POWER_SLEEP_STATE_HIBERNATE 0x02 +enum power_sstate_transition { + POWER_SSTATE_TRANSITION_STANDBY, + POWER_SSTATE_TRANSITION_SUSPEND, + POWER_SSTATE_TRANSITION_HIBERNATE, +}; /* * Sleep type. * * These are the specific generic methods of entering a sleep state. E.g. - * POWER_SLEEP_STATE_SUSPEND could be set to enter either suspend-to-RAM (which - * is S3 on ACPI systems), or suspend-to-idle (S0ix on ACPI systems). This - * would be done through the kern.power.suspend sysctl. + * POWER_SSTATE_TRANSITION_SUSPEND could be set to enter either suspend-to-RAM + * (which is S3 on ACPI systems), or suspend-to-idle (S0ix on ACPI systems). + * This would be done through the kern.power.suspend sysctl. */ enum power_stype { POWER_STYPE_AWAKE, @@ -94,7 +96,7 @@ extern int power_pm_register(u_int _pm_type, power_pm_fn_t _pm_fn, void *_pm_arg, bool _pm_supported[static POWER_STYPE_COUNT]); extern u_int power_pm_get_type(void); -extern void power_pm_suspend(int); +extern void power_pm_suspend(enum power_sstate_transition _trans); /* * System power API.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6984b329.3dcdf.7f2335f7>
