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
This commit is contained in:
Bjoern A. Zeeb
2026-01-13 21:05:05 +00:00
parent c71f18998e
commit 4162a419a4
+11 -3
View File
@@ -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