git: 4162a419a475 - main - modules: factor out LinuxKPI based wireless drivers and add RISC-V

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Wed, 14 Jan 2026 18:09:55 UTC
The branch main has been updated by bz:

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

commit 4162a419a475089c8a3d2350de40c58b023e9288
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2026-01-13 21:05:05 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2026-01-14 18:08:39 +0000

    modules: factor out LinuxKPI based wireless drivers and add RISC-V
    
    The LinuxKPI based wireless drivers are currently limited to amd64 and
    arm64 (and until cleaned up i386).  Adding RISC-V now as we have a
    report that iwlwifi(4) works on RISC-V [1]. Factor the LinuxKPI based
    wireless drivers out into their own block.
    
    Given RISC-V has no ACPI support yet (though we fixed #includes in
    order to keep compiling the drivers without further modifications
    where possible) we need to take care of rtw89 which fails to compile
    without ACPI enabled.  A quick check at the Linux build files indicates
    that the depenency is not correctly recorded there either.  Disable
    compiling rtw89 without ACPI (on RISC-V) for the moment until this is
    fixed.
    
    [1] https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=5947+0+archive/2026/freebsd-wireless/20260112.freebsd-wireless
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      3 days
    Reviewed by:    emaste
    Differential Revision: https://reviews.freebsd.org/D54693
---
 sys/modules/Makefile | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index cce5f14ce20d..538cd7a1f37d 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -551,6 +551,17 @@ SUBDIR+=	linux64
 SUBDIR+=	linux_common
 .endif
 
+# LinuxKPI based wireless drivers.
+.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \
+    ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "riscv"
+_iwlwifi=	iwlwifi
+_rtw88=		rtw88
+# rtw89 currently cannot be compiled without ACPI (seems also broken in Linux).
+.if ${KERN_OPTS:MDEV_ACPI}
+_rtw89=		rtw89
+.endif
+.endif
+
 .if ${MACHINE_CPUARCH} != "arm"
 .if ${MK_OFED} != "no" || defined(ALL_MODULES)
 _ibcore=	ibcore
@@ -583,9 +594,6 @@ _acpi=		acpi
 _ena=		ena
 _gve=		gve
 _igc=		igc
-_iwlwifi=	iwlwifi
-_rtw88=		rtw88
-_rtw89=		rtw89
 _vmware=	vmware
 .endif