The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9e175561196066a09c1a89202fd60e0433b87868
commit 9e175561196066a09c1a89202fd60e0433b87868 Author: Bjoern A. Zeeb <[email protected]> AuthorDate: 2026-01-26 13:19:14 +0000 Commit: Bjoern A. Zeeb <[email protected]> CommitDate: 2026-02-10 10:16:34 +0000 rtw88: Add bus attachments to the module Makefile In addition to PCIe we will support USB and also prepare for SDIO (still disabled locally). The module SRCS are split up into a common part, which we always add. All three bus parts are guarded by a local variable in the Makefile. In addition the PCI parts require PCI to be compiled into the kernel. We add that check in case of, e.g., SoCs with SDIO but no PCI, which may not have PCI in the kernel config and thus the module would fail to attach. USB has no additional check as it is fully loadable and does not have to be in a kernel config. SDIO depends on an MMCCAM-enabled kernel but is otherwise loadable. While we could, we are not splitting the various bus attachments into individual modules as we generally do not do that in FreeBSD. [1] Sponsored by: The FreeBSD Foundation MFC after: 3 days Discussed with: imp and jhb (2022, 2024), see also 17732dd8f01b [1] OKed by: imp (KERN_OPTS checks initially suggested by jhb) Differential Revision: https://reviews.freebsd.org/D55022 --- sys/modules/rtw88/Makefile | 82 +++++++++++++++++++++++++++++++++------------- 1 file changed, 59 insertions(+), 23 deletions(-) diff --git a/sys/modules/rtw88/Makefile b/sys/modules/rtw88/Makefile index 0ce6ad3f99bb..2347093db1a5 100644 --- a/sys/modules/rtw88/Makefile +++ b/sys/modules/rtw88/Makefile @@ -1,7 +1,15 @@ +.include <kmod.opts.mk> + DEVRTW88DIR= ${SRCTOP}/sys/contrib/dev/rtw88 .PATH: ${DEVRTW88DIR} +# Bus attachments. +WITH_PCI= 1 +WITH_USB= 0 +WITH_SDIO= 0 + +# Options. WITH_CONFIG_PM= 0 WITH_DEBUGFS= 1 WITH_LEDS= 0 @@ -19,41 +27,69 @@ SRCS+= wow.c CFLAGS+= -DCONFIG_PM=${WITH_CONFIG_PM} .endif -# PCI parts. +# Common +SRCS+= rtw8723x.c # 87x3 common +SRCS+= rtw8703b.c rtw8703b_tables.c # 11n +SRCS+= rtw8723d.c rtw8723d_table.c # 11n +SRCS+= rtw8814a.c rtw8814a_table.c # 11ac +SRCS+= rtw8821c.c rtw8821c_table.c # 11ac +SRCS+= rtw8822b.c rtw8822b_table.c # 11ac +SRCS+= rtw8822c.c rtw8822c_table.c # 11ac + +# 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+= pci.c -SRCS+= rtw8723x.c # 87x3 common -SRCS+= rtw8703b.c rtw8703b_tables.c # 11n -SRCS+= rtw8723d.c rtw8723d_table.c rtw8723de.c # 11n -SRCS+= rtw8821c.c rtw8821c_table.c rtw8821ce.c # 11ac -SRCS+= rtw8822b.c rtw8822b_table.c rtw8822be.c # 11ac -SRCS+= rtw8822c.c rtw8822c_table.c rtw8822ce.c # 11ac -SRCS+= rtw8814a.c rtw8814a_table.c rtw8814ae.c # 11ac - -# USB parts -#SRCS+= rtw88xxa.c # 88xxa common -#SRCS+= rtw8812a.c rtw8812a_table.c rtw8812au.c -#SRCS+= rtw8814au.c -#SRCS+= rtw8821a.c rtw8821a_table.c rtw8821au.c -#CFLAGS+= -DCONFIG_RTW88_USB +SRCS+= rtw8723de.c +SRCS+= rtw8814ae.c +SRCS+= rtw8821ce.c +SRCS+= rtw8822be.c +SRCS+= rtw8822ce.c +.endif + +# USB parts; USB can be loaded and is unconditional on any kernel config. +.if defined(WITH_USB) && ${WITH_USB} > 0 +SRCS+= usb.c +SRCS+= rtw8723du.c +SRCS+= rtw88xxa.c # 88xxa common +SRCS+= rtw8812a.c rtw8812a_table.c rtw8812au.c +SRCS+= rtw8814au.c +SRCS+= rtw8821a.c rtw8821a_table.c rtw8821au.c +SRCS+= rtw8821cu.c +SRCS+= rtw8822bu.c +SRCS+= rtw8822cu.c + +CFLAGS+= -DCONFIG_RTW88_USB +.endif + +# SDIO parts; SDIO depends on an MMCCAM kernel. +.if defined(WITH_SDIO) && ${WITH_SDIO} > 0 && ${KERN_OPTS:MMMCCAM} +SRCS+= rtw8723cs.c +SRCS+= rtw8723ds.c +SRCS+= rtw8821cs.c +SRCS+= rtw8822bs.c +SRCS+= rtw8822cs.c +.endif .if defined(WITH_LEDS) && ${WITH_LEDS} > 0 CFLAGS+= -DCONFIG_RTW88_LEDS SRCS+= led.c .endif +.if defined(WITH_DEBUGFS) && ${WITH_DEBUGFS} > 0 +CFLAGS+= -DCONFIG_RTW88_DEBUGFS +.endif + # Other -SRCS+= ${LINUXKPI_GENSRCS} -SRCS+= opt_wlan.h opt_inet6.h opt_inet.h +SRCS+= opt_wlan.h opt_inet6.h opt_inet.h +SRCS+= ${LINUXKPI_GENSRCS} -CFLAGS+= -DKBUILD_MODNAME='"rtw88"' -CFLAGS+= -DLINUXKPI_VERSION=61900 +CFLAGS+= ${LINUXKPI_INCLUDES} CFLAGS+= -I${DEVRTW88DIR} -CFLAGS+= ${LINUXKPI_INCLUDES} CFLAGS+= -DCONFIG_RTW88_DEBUG -.if defined(WITH_DEBUGFS) && ${WITH_DEBUGFS} > 0 -CFLAGS+= -DCONFIG_RTW88_DEBUGFS -.endif + +CFLAGS+= -DKBUILD_MODNAME='"rtw88"' +CFLAGS+= -DLINUXKPI_VERSION=61900 # Helpful after fresh imports. #CFLAGS+= -ferror-limit=0
