git: c47cefba8312 - main - Only build USB-related modules if MK_USB != no
Date: Tue, 03 Mar 2026 04:50:50 UTC
The branch main has been updated by ngie:
URL: https://cgit.FreeBSD.org/src/commit/?id=c47cefba831240a1b3de375f18134b93cf998f5c
commit c47cefba831240a1b3de375f18134b93cf998f5c
Author: Enji Cooper <ngie@FreeBSD.org>
AuthorDate: 2026-03-03 04:49:54 +0000
Commit: Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-03-03 04:50:03 +0000
Only build USB-related modules if MK_USB != no
This change moves the thunderbolt module and other USB modules under a
MK_USB != no conditional to ensure that users not desiring USB support
can easily build systems without USB-specific drivers using this knob.
MFC after: 1 week
Reviewed By: imp
Differential Revision: https://reviews.freebsd.org/D55576
---
sys/conf/kern.opts.mk | 5 +++++
sys/conf/kmod.mk | 8 ++++++--
sys/modules/Makefile | 16 ++++++++++------
3 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk
index 81b117492916..f26a44eb61f5 100644
--- a/sys/conf/kern.opts.mk
+++ b/sys/conf/kern.opts.mk
@@ -47,6 +47,7 @@ __DEFAULT_YES_OPTIONS = \
SOURCELESS_UCODE \
SPLIT_KERNEL_DEBUG \
TESTS \
+ USB \
USB_GADGET_EXAMPLES \
ZFS
@@ -207,6 +208,10 @@ MK_KERNEL_SYMBOLS:= no
MK_DTRACE:= no
.endif
+.if ${MK_USB} == "no"
+MK_USB_GADGET_EXAMPLES:= no
+.endif
+
# Some modules only compile successfully if option FDT is set, due to #ifdef FDT
# wrapped around declarations. Module makefiles can optionally compile such
# things using .if !empty(OPT_FDT)
diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk
index 17358428a023..4f1509592483 100644
--- a/sys/conf/kmod.mk
+++ b/sys/conf/kmod.mk
@@ -103,10 +103,14 @@ LINUXKPI_GENSRCS+= \
pci_iov_if.h \
pcib_if.h \
vnode_if.h \
- usb_if.h \
- opt_usb.h \
opt_stack.h
+.if ${MK_USB} != "no"
+LINUXKPI_GENSRCS+= \
+ usb_if.h \
+ opt_usb.h
+.endif
+
LINUXKPI_INCLUDES+= \
-I${SYSDIR}/compat/linuxkpi/common/include \
-I${SYSDIR}/compat/linuxkpi/dummy/include \
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index 49a15588e9a5..a4100c31ef26 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -356,7 +356,7 @@ SUBDIR= \
${_rtw89} \
rtwn \
rtwn_pci \
- rtwn_usb \
+ ${_rtwn_usb} \
${_rtwnfw} \
${_s3} \
${_safe} \
@@ -411,7 +411,7 @@ SUBDIR= \
${_ufshci} \
uinput \
unionfs \
- usb \
+ ${_usb} \
${_vesa} \
${_vf_i2c} \
virtio \
@@ -710,6 +710,14 @@ SUBDIR+= ktest
SUBDIR+= tests
.endif
+.if ${MK_USB} != "no" || defined(ALL_MODULES)
+_rtwn_usb= rtwn_usb
+_usb= usb
+. if ${MACHINE_CPUARCH} == "amd64"
+_thunderbolt= thunderbolt
+. endif
+.endif
+
.if ${MK_ZFS} != "no" || defined(ALL_MODULES)
SUBDIR+= zfs
.endif
@@ -938,10 +946,6 @@ _bcm283x_pwm= bcm283x_pwm
_neta= neta
.endif
-.if ${MACHINE_CPUARCH} == "amd64"
-_thunderbolt= thunderbolt
-.endif
-
.if !(${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 110000)
# LLVM 10 crashes when building if_malo_pci.c, fixed in LLVM11:
# https://bugs.llvm.org/show_bug.cgi?id=44351