The branch main has been updated by ngie:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=f224591746bdaf14ad5f63de4738a3146cc2f55f

commit f224591746bdaf14ad5f63de4738a3146cc2f55f
Author:     Enji Cooper <[email protected]>
AuthorDate: 2026-01-04 08:27:57 +0000
Commit:     Enji Cooper <[email protected]>
CommitDate: 2026-01-06 01:43:04 +0000

    Add ASMC_DEBUG make option
    
    This allows folks to enable debug statements in asmc(4) using kernel
    configs via the `options ASMC_DEBUG` directive.
    
    While here, remove a duplicate `device vt_efifb` directive in `NOTES`
    as it's already handled in the `GENERIC` config
    
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D54511
---
 sys/amd64/conf/NOTES      |  7 ++++---
 sys/conf/options.amd64    |  3 +++
 sys/dev/asmc/asmc.c       | 20 +++++++++++---------
 sys/modules/asmc/Makefile |  2 +-
 4 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES
index d48fd10c0e62..efcc03623c05 100644
--- a/sys/amd64/conf/NOTES
+++ b/sys/amd64/conf/NOTES
@@ -43,9 +43,6 @@ cpu           HAMMER                  # aka K8, aka Opteron & 
Athlon64
 # Optional devices:
 #
 
-# vt(4) drivers.
-device         vt_efifb        # EFI framebuffer
-
 # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support.  This will create
 # the /dev/3dfx0 device to work with glide implementations.  This should get
 # linked to /dev/3dfx and /dev/voodoo.  Note that this is not the same as
@@ -116,6 +113,10 @@ device             efidev
 # EFI RTC
 device         efirtc
 
+# Apple System Management Controller (SMC)
+device         asmc
+options                ASMC_DEBUG      # Enable asmc(4)-specific debug logic.
+
 #
 # Intel QuickAssist driver with OpenCrypto support
 #
diff --git a/sys/conf/options.amd64 b/sys/conf/options.amd64
index df18abfa8e1e..a3a735731438 100644
--- a/sys/conf/options.amd64
+++ b/sys/conf/options.amd64
@@ -68,3 +68,6 @@ MPTABLE_LINUX_BUG_COMPAT
 
 # x86 specific uart options
 UART_NS8250_EARLY_PORT opt_uart.h
+
+# Enable asmc(4)-specific debug logic.
+ASMC_DEBUG             opt_asmc.h
diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c
index 0572c8e663a7..5d3b97a065c9 100644
--- a/sys/dev/asmc/asmc.c
+++ b/sys/dev/asmc/asmc.c
@@ -34,6 +34,8 @@
  * Inspired by the Linux applesmc driver.
  */
 
+#include "opt_asmc.h"
+
 #include <sys/param.h>
 #include <sys/bus.h>
 #include <sys/conf.h>
@@ -83,7 +85,7 @@ static void   asmc_sms_calibrate(device_t dev);
 static int     asmc_sms_intrfast(void *arg);
 static void    asmc_sms_printintr(device_t dev, uint8_t);
 static void    asmc_sms_task(void *arg, int pending);
-#ifdef DEBUG
+#ifdef ASMC_DEBUG
 void           asmc_dumpall(device_t);
 static int     asmc_key_dump(device_t, int);
 #endif
@@ -515,7 +517,7 @@ static driver_t     asmc_driver = {
  */
 #define        _COMPONENT      ACPI_OEM
 ACPI_MODULE_NAME("ASMC")
-#ifdef DEBUG
+#ifdef ASMC_DEBUG
 #define ASMC_DPRINTF(str)      device_printf(dev, str)
 #else
 #define ASMC_DPRINTF(str)
@@ -828,7 +830,7 @@ asmc_resume(device_t dev)
     return (0);
 }
 
-#ifdef DEBUG
+#ifdef ASMC_DEBUG
 void asmc_dumpall(device_t dev)
 {
        struct asmc_softc *sc = device_get_softc(dev);
@@ -939,7 +941,7 @@ nosms:
                sc->sc_nkeys = 0;
        }
 
-#ifdef DEBUG
+#ifdef ASMC_DEBUG
        asmc_dumpall(dev);
 #endif
 
@@ -974,19 +976,19 @@ asmc_wait_ack(device_t dev, uint8_t val, int amount)
 static int
 asmc_wait(device_t dev, uint8_t val)
 {
-#ifdef DEBUG
+#ifdef ASMC_DEBUG
        struct asmc_softc *sc;
 #endif
 
        if (asmc_wait_ack(dev, val, 1000) == 0)
                return (0);
 
-#ifdef DEBUG
+#ifdef ASMC_DEBUG
        sc = device_get_softc(dev);
 #endif
        val = val & ASMC_STATUS_MASK;
 
-#ifdef DEBUG
+#ifdef ASMC_DEBUG
        device_printf(dev, "%s failed: 0x%x, 0x%x\n", __func__, val,
            ASMC_CMDPORT_READ(sc));
 #endif
@@ -1009,7 +1011,7 @@ asmc_command(device_t dev, uint8_t command) {
                }
        }
 
-#ifdef DEBUG
+#ifdef ASMC_DEBUG
        device_printf(dev, "%s failed: 0x%x, 0x%x\n", __func__, command,
            ASMC_CMDPORT_READ(sc));
 #endif
@@ -1055,7 +1057,7 @@ out:
        return (error);
 }
 
-#ifdef DEBUG
+#ifdef ASMC_DEBUG
 static int
 asmc_key_dump(device_t dev, int number)
 {
diff --git a/sys/modules/asmc/Makefile b/sys/modules/asmc/Makefile
index f1b4a981ad24..4ba45a4625d8 100644
--- a/sys/modules/asmc/Makefile
+++ b/sys/modules/asmc/Makefile
@@ -1,6 +1,6 @@
 .PATH: ${SRCTOP}/sys/dev/asmc
 
 KMOD=  asmc
-SRCS=  asmc.c opt_acpi.h acpi_if.h bus_if.h device_if.h
+SRCS=  asmc.c opt_acpi.h opt_asmc.h acpi_if.h bus_if.h device_if.h
 
 .include <bsd.kmod.mk>

Reply via email to