From nobody Mon May 4 16:03:08 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g8RJL3fpWz6blnN for ; Mon, 04 May 2026 16:03:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g8RJD40mMz3l9r for ; Mon, 04 May 2026 16:03:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777910588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lv0Uj6SlC/WQMAugmWNMIFjtbMOJ5cxQWhHJqBRBF5Q=; b=xll4ImVKrN9E7eVyvzhUoLn9ig1MuQX7fKKBIn2dSn7EC9s7+cEys00jIq8vM1yERXv6Ol KGgmGrbrsGj1mnTuYq6wMC8a94BGpXz6r6iOAjS9izOGK5Cl09hW/Zo+un0B1DtkazQXbu XfR/Y3/Nbyv7s1bYGgKgyrKJk22JpBL8szvn7HrHxGoAPMOS5xSo5pbN3vajz6unw0Dxi6 AP/9EygVHb/evIYhjD4HfJ8nLzotteDNx85iu2/QA7gQMjDDnVmvLF1FPSivEdO7y9SH3q 4cWCFF3diL2Vqgltpc4YZ0xLmrAe0qsS6R8+ft9xbjSw7UQB8gI7Y+ILeLbRJA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777910588; a=rsa-sha256; cv=none; b=IcRNzIhHBgQgyB5fHu7RX4yYleGg7LAGTA2InqD2CDXgws6BO9XOHZY2iibgarxLXJY/Jr sXi12by2a6EILwW2guHSEBQjcwJ3YwFoZ/fJExW8INmuTIoFVGNHMgFkljMCaCkWy9PWaU sCrZP5VGu2CyXfzBAdFPpPSfXoYxYug3V+Y61rRWtaPy9aRE2t7f72UxT1K8EaZCux/M68 twI/gvHUxzEJPA7KYBgX7VwN07mmax2nStMkvqvjn2N+20Wp5WcQHX5pkXLYh3Uldl4mKI ea3iGpAg8Pub8UkmL5JLg0X4j2Zr0J55QSphPCrcxJ0Gn4wSjePMYN+RWdVU2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777910588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lv0Uj6SlC/WQMAugmWNMIFjtbMOJ5cxQWhHJqBRBF5Q=; b=QJIeoihp9hrfULPIt/YHEnrnyY844vG/0pXIAJKCuMlDyk0zyiDINULZ5LqmXDJJTgW5Ud g802fadk40B4JurY6eVy0wRlT2ehkgcyqPfsNmhipFXJOBAYbhk+NDRO4BmV6+8OEnOgOt kInFOXMeR7ypI+13JkAVZ/dAxW677neaxoMsfHbnAZvT8MWnOg/gupKCEGGlnEdpsl5c7Y ckGPoN1P7WAJSN3FmKbbBsuqAf9XWSuNARauP2d84T/HkbJT4eYo7kr+nv4tiKsYEDE7N3 tJ5QUkyg6OaWFAmcrusrjwHSw6uyPjv9xYTL+5Q4J6VGi8oa4vgYjJ9YxsVVpw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g8RJD3YMzzBhQ for ; Mon, 04 May 2026 16:03:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 21d68 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 04 May 2026 16:03:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Adrian Chadd Subject: git: 36b399f55e3f - main - asmc: rename wol sysctl to auto_poweron List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 36b399f55e3fa16063188b6f8ad8eaaf8c2215ab Auto-Submitted: auto-generated Date: Mon, 04 May 2026 16:03:08 +0000 Message-Id: <69f8c33c.21d68.546f46ca@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=36b399f55e3fa16063188b6f8ad8eaaf8c2215ab commit 36b399f55e3fa16063188b6f8ad8eaaf8c2215ab Author: Abdelkader Boudih AuthorDate: 2026-05-04 14:26:44 +0000 Commit: Adrian Chadd CommitDate: 2026-05-04 14:26:44 +0000 asmc: rename wol sysctl to auto_poweron Older SMC firmware exposed AUPO as a Wake-on-LAN control. On updated firmware, the key controls automatic power-on when AC power is restored after a power loss; WoL is handled by the GBE controller instead. Rename the sysctl to reflect the current semantics. No compatibility alias is provided as the sysctl has not appeared in any release. Reviewed by: ziaee, adrian Differential Revision: https://reviews.freebsd.org/D56747 --- share/man/man4/asmc.4 | 9 ++++++++- sys/dev/asmc/asmc.c | 24 ++++++++++-------------- sys/dev/asmc/asmcvar.h | 4 +++- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/share/man/man4/asmc.4 b/share/man/man4/asmc.4 index 9b42d021e1aa..e1dd4b09d647 100644 --- a/share/man/man4/asmc.4 +++ b/share/man/man4/asmc.4 @@ -1,4 +1,4 @@ -.\"- +.\" .\" Copyright (c) 2007, 2008, 2009 Rui Paulo .\" All rights reserved. .\" @@ -112,6 +112,13 @@ minimum fan speed, the minimum speed and the maximum speed respectively. .Pp All values are in RPM. +.Sh POWER MANAGEMENT +The +.Va dev.asmc.%d.auto_poweron +sysctl controls whether the machine automatically powers on when AC power +is restored after an unclean power loss +.Pq SMC key Dq AUPO . +A value of 1 enables automatic power-on; 0 disables it. .Sh RAW SMC KEY ACCESS When the kernel is compiled with the .Dv ASMC_DEBUG diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index 5fe89d85be6d..8cd7842d03fd 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -123,7 +123,7 @@ static int asmc_mbp_sysctl_light_left(SYSCTL_HANDLER_ARGS); static int asmc_mbp_sysctl_light_right(SYSCTL_HANDLER_ARGS); static int asmc_mbp_sysctl_light_control(SYSCTL_HANDLER_ARGS); static int asmc_mbp_sysctl_light_left_10byte(SYSCTL_HANDLER_ARGS); -static int asmc_wol_sysctl(SYSCTL_HANDLER_ARGS); +static int asmc_aupo_sysctl(SYSCTL_HANDLER_ARGS); static int asmc_key_getinfo(device_t, const char *, uint8_t *, char *); @@ -793,14 +793,14 @@ asmc_init(device_t dev) device_printf(dev, "SMC revision: %x.%x%x%x\n", buf[0], buf[1], buf[2], ntohs(*(uint16_t *)buf + 4)); - /* Wake-on-LAN convenience sysctl */ + /* Auto power-on after AC power loss (AUPO). */ if (asmc_key_read(dev, ASMC_KEY_AUPO, buf, 1) == 0) { SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "wol", + OID_AUTO, "auto_poweron", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, - dev, 0, asmc_wol_sysctl, "I", - "Wake-on-LAN enable (0=off, 1=on)"); + dev, 0, asmc_aupo_sysctl, "I", + "Auto power-on after AC power loss (0=off, 1=on)"); } sc->sc_nfan = asmc_fan_count(dev); @@ -1222,7 +1222,7 @@ out: /* * Raw SMC key access sysctls - enables reading/writing any SMC key by name * Usage: - * sysctl dev.asmc.0.raw.key=AUPO # Set key, auto-detects length + * sysctl dev.asmc.0.raw.key=TC0P # Set key, auto-detects length * sysctl dev.asmc.0.raw.value # Read current value (hex bytes) * sysctl dev.asmc.0.raw.value=01 # Write new value */ @@ -2338,18 +2338,17 @@ asmc_mbp_sysctl_light_left_10byte(SYSCTL_HANDLER_ARGS) } /* - * Wake-on-LAN convenience sysctl. - * Reading returns 1 if WoL is enabled, 0 if disabled. - * Writing 1 enables WoL, 0 disables it. + * Auto power-on after AC power loss (AUPO key). + * When non-zero the machine boots automatically when AC is restored + * after an unclean power loss. Useful for always-on servers / home labs. */ static int -asmc_wol_sysctl(SYSCTL_HANDLER_ARGS) +asmc_aupo_sysctl(SYSCTL_HANDLER_ARGS) { device_t dev = (device_t)arg1; uint8_t aupo; int val, error; - /* Read current AUPO value */ if (asmc_key_read(dev, ASMC_KEY_AUPO, &aupo, 1) != 0) return (EIO); @@ -2358,10 +2357,7 @@ asmc_wol_sysctl(SYSCTL_HANDLER_ARGS) if (error != 0 || req->newptr == NULL) return (error); - /* Clamp to 0 or 1 */ aupo = (val != 0) ? 1 : 0; - - /* Write AUPO */ if (asmc_key_write(dev, ASMC_KEY_AUPO, &aupo, 1) != 0) return (EIO); diff --git a/sys/dev/asmc/asmcvar.h b/sys/dev/asmc/asmcvar.h index ae027ba33ae9..6388fc78fb69 100644 --- a/sys/dev/asmc/asmcvar.h +++ b/sys/dev/asmc/asmcvar.h @@ -175,7 +175,9 @@ struct asmc_softc { #define ASMC_KEY_CLAMSHELL "MSLD" /* RO; 1 byte */ /* - * Auto power on / Wake-on-LAN. + * Auto power-on after AC power loss (AUPO). + * When set, the machine boots automatically when AC power is restored + * after an unclean power loss. This is NOT Wake-on-LAN. */ #define ASMC_KEY_AUPO "AUPO" /* RW; 1 byte */