git: 9ec32912dc53 - stable/15 - brcmfmac: deal with bus attachments to the module Makefile
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 27 Feb 2026 02:30:12 UTC
The branch stable/15 has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=9ec32912dc53ac42c0e27b22ac5dd312fe8b7b8d
commit 9ec32912dc53ac42c0e27b22ac5dd312fe8b7b8d
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2026-02-09 01:08:42 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2026-02-26 23:07:33 +0000
brcmfmac: deal with bus attachments to the module Makefile
As with LinuxKPI-based wireless drivers, e.g., rtw88, PCI depends
on PCI being compiled into the kernel, SDIO will depend on
MMCCAM in the kernel once supported, and USB can always be
loaded.
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 98c44ccb01d9461da477ec8d784c763e4d03fb36)
---
sys/modules/brcm80211/brcmfmac/Makefile | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/sys/modules/brcm80211/brcmfmac/Makefile b/sys/modules/brcm80211/brcmfmac/Makefile
index 67955c96db53..b0c4d75a3d17 100644
--- a/sys/modules/brcm80211/brcmfmac/Makefile
+++ b/sys/modules/brcm80211/brcmfmac/Makefile
@@ -3,7 +3,7 @@ DEVDIR= ${SRCTOP}/sys/contrib/dev/broadcom/brcm80211/brcmfmac
.PATH: ${DEVDIR}
# Should split this up into a core driver and 3 more
-WITH_PCIE=1
+WITH_PCI=1
WITH_SDIO=0
WITH_USB=0
@@ -20,21 +20,24 @@ SRCS+= fweh.c fwil.c fwvid.c p2p.c pno.c proto.c vendor.c xtlv.c
SRCS+= wcc/core.c cyw/core.c bca/core.c
-.if defined(WITH_PCIE) && ${WITH_PCIE} > 0
-CFLAGS+= -DCONFIG_BRCMFMAC_PCIE=1
+# PCI parts; PCI needs to be compiled into the kernel and cannot be loaded.
+.if defined(WITH_PCI) && ${WITH_PCI} > 0 && ${KERN_OPTS:MDEV_PCI}
SRCS+= pcie.c msgbuf.c commonring.c flowring.c
+CFLAGS+= -DCONFIG_BRCMFMAC_PCIE=1
.endif
-.if defined(WITH_SDIO) && ${WITH_SDIO} > 0
-CFLAGS+= -DCONFIG_BRCMFMAC_SDIO=1
+# SDIO parts; SDIO depends on an MMCCAM kernel.
+.if defined(WITH_SDIO) && ${WITH_SDIO} > 0 && ${KERN_OPTS:MMMCCAM}
SRCS+= sdio.c bcmsdh.c
SRCS+= sdio_if.h
SRCS+= sdiodevs.h
+CFLAGS+= -DCONFIG_BRCMFMAC_SDIO=1
.endif
+# USB parts; USB can be loaded and is unconditional on any kernel config.
.if defined(WITH_USB) && ${WITH_USB} > 0
-CFLAGS+= -DCONFIG_BRCMFMAC_USB=1
SRCS+= usb.c
+CFLAGS+= -DCONFIG_BRCMFMAC_USB=1
.endif
.if (defined(WITH_SDIO) && ${WITH_SDIO} > 0) || \
@@ -74,7 +77,7 @@ CFLAGS+= ${LINUXKPI_INCLUDES}
CFLAGS+= -ferror-limit=0
#CFLAGS+= -DCONFIG_BRCM_TRACING=${WITH_TRACING}
-CFLAGS+= -DCONFIG_BRCMFMAC_PROTO_MSGBUF=${WITH_PCIE}
+CFLAGS+= -DCONFIG_BRCMFMAC_PROTO_MSGBUF=${WITH_PCI}
CFLAGS+= -DCONFIG_BRCMDBG=${WITH_DEBUG}
#CFLAGS+= -DCONFIG_DMI=${WITH_DMI}