git: f224591746bd - main - Add ASMC_DEBUG make option
- Reply: Olivier Certner : "Re: git: f224591746bd - main - Add ASMC_DEBUG make option"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 06 Jan 2026 01:43:34 UTC
The branch main has been updated by ngie:
URL: https://cgit.FreeBSD.org/src/commit/?id=f224591746bdaf14ad5f63de4738a3146cc2f55f
commit f224591746bdaf14ad5f63de4738a3146cc2f55f
Author: Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-01-04 08:27:57 +0000
Commit: Enji Cooper <ngie@FreeBSD.org>
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>