From nobody Tue Oct 13 18:44:13 2026 X-Original-To: dev-commits-src-main@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 4j43CK6zGZz6vwbk for ; Tue, 13 Oct 2026 18:44:13 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4j43CK690nz3FMZ for ; Tue, 13 Oct 2026 18:44:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791917053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QZb3WLTcLD1F35W67Bdg/FEMOfe9+IXD80bKschYMhk=; b=qGPe4FM/XAxQxZLtNbEcY0v91gUC+uENddHWspr7b6Ia3RyONy9ccbNj0ox+Yw4WA3kCzt IPvV2kJStDDOsgz2jcf3sZM5+fNxCuqp3bXbDxA00PhoYV7V/YriOe6g5YhHwss3kTeRKX 0KSKpToIMPmZ8r0soMBlu0keJ2dcfzV8I+RorcLLs7pa+NspvloIl5Dw5K5pKlNFpmSyar 0KYXMHb9++vlZD67cl30ON93ayPo3iiTQ0BjKuT94QzCq+RkgODsjyZRwG27cx4FON645X rMCqEqSNd8BKh3gcQIShfzOXWgVqGTVC0lgGlx3BcchSUXNAGFklnebJK5bMsw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791917053; b=oa6wwzal4rR1EOb6gFUzpXJ6EQnlscsZHkGJFHS4aAELV4NSop/FLUqhWrLn99CbGdDIBz aD3OjEWo5baWARoErNbsZ/P6MCNnAHCJRFzxTah08lVI0FIjkRHn34Z/QKkypaPdn788GL 39Xhmb82lDAnQUNSV8vGZwupUHzdC9LnpEUXbSQgdYPoCIsFKDEul8B5j5n4It4R6uTJoE SJSHoRZazu7XG/NqKjp/xKGh6PencexFsoPxi+1ZOYv0xcwlW9ybs2Vpbx2PczclYdfOl2 JyXt3e+CqeE4buUGXEzFbeG83QuXj9UnWXIpD8sKRqCTYsJW7cwC3JrXccOGpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791917053; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QZb3WLTcLD1F35W67Bdg/FEMOfe9+IXD80bKschYMhk=; b=GEZmSF29PYMygRzLdlNtLlelbrXq3yNGKNAX1sy9ySB3LpHzWvvYa5Jecly7gzQreq1Z93 3IGLEdfBmBq+/3lEjvezAHv4nWNDOSC2XwhGCpO7UelFT5fcZlIPukMhPr7BzHW6zv9NAs Mv1bp4YDuM/Har3oGHqN6WaRUVbhdioCuBvOXtuJnVyhby6ALpVgkM0gYIUOwGeLQKUunt lWzGE92+7zJ8OCIaf1LUREqVB2jPAJa01WyFTCUU2z0BkiOL/cBTL6pU9emziVHYH+JBWT Bno5ugzHm52HLC1VJD+thBgtcyp/pUegSXrV/IiCpy4WQz8eLvRaWDiVkwNM0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j43CK5Dv2zRGj for ; Tue, 13 Oct 2026 18:44:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b264 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 13 Oct 2026 18:44:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Abdelkader Boudih Subject: git: 030e556ff8a9 - main - acpi_lid: add an in-kernel lid state eventhandler List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: Commit messages for the main branch of the src repository 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: seuros X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 030e556ff8a9dfa6fd7b5328e410eb806f4d07ed Auto-Submitted: auto-generated Date: Tue, 13 Oct 2026 18:44:13 +0000 Message-Id: <6ace7bfd.3b264.71b65a74@gitrepo.freebsd.org> The branch main has been updated by seuros: URL: https://cgit.FreeBSD.org/src/commit/?id=030e556ff8a9dfa6fd7b5328e410eb806f4d07ed commit 030e556ff8a9dfa6fd7b5328e410eb806f4d07ed Author: Abdelkader Boudih AuthorDate: 2026-10-13 18:43:56 +0000 Commit: Abdelkader Boudih CommitDate: 2026-10-13 18:43:56 +0000 acpi_lid: add an in-kernel lid state eventhandler Lid state changes are only published to userland, via devd and evdev. Drivers that need to react to the lid in the kernel have no hook, so they end up installing a second ACPI_DEVICE_NOTIFY handler on the same lid object and reimplementing the _LID evaluation. Add acpi_lid_event, invoked from acpi_lid_status_update() alongside the existing devd notification, carrying the new state (1 open, 0 closed). Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D60704 --- sys/dev/acpica/acpi_lid.c | 3 +++ sys/dev/acpica/acpivar.h | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/sys/dev/acpica/acpi_lid.c b/sys/dev/acpica/acpi_lid.c index 1d5249a19731..fb06a57d8e5e 100644 --- a/sys/dev/acpica/acpi_lid.c +++ b/sys/dev/acpica/acpi_lid.c @@ -117,6 +117,9 @@ acpi_lid_status_update(struct acpi_lid_softc *sc) /* Send notification via devd */ acpi_UserNotify("Lid", sc->lid_handle, sc->lid_status); + /* Notify in-kernel consumers */ + EVENTHANDLER_INVOKE(acpi_lid_event, sc->lid_status); + #ifdef EVDEV_SUPPORT /* Notify evdev about lid status */ evdev_push_sw(sc->lid_evdev, SW_LID, lid_status ? 0 : 1); diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h index 2a2c4bcb0a7c..7ff8bd711e57 100644 --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -456,6 +456,11 @@ EVENTHANDLER_DECLARE(acpi_video_event, acpi_event_handler_t); EVENTHANDLER_DECLARE(acpi_post_dev_suspend, acpi_event_handler_t); EVENTHANDLER_DECLARE(acpi_pre_dev_resume, acpi_event_handler_t); +/* Lid state changes. The int argument is 1 for open, 0 for closed. */ +typedef void (*acpi_lid_event_handler_t)(void *, int); + +EVENTHANDLER_DECLARE(acpi_lid_event, acpi_lid_event_handler_t); + void acpi_invoke_sleep_eventhandler(const enum power_stype *stype); void acpi_invoke_wake_eventhandler(const enum power_stype *stype);