zydwifi1211: Import (if_zyd from FreeBSD 15.)

Requested by a user on Discord. Untested, I don't have this hardware.
This commit is contained in:
Augustin Cavalier
2026-04-28 14:10:08 -04:00
parent b4f627e58b
commit 35441396e7
8 changed files with 5433 additions and 0 deletions
+1
View File
@@ -327,6 +327,7 @@ SYSTEM_ADD_ONS_DRIVERS_NET += [ FFilterByBuildFeatures
marvell88w8335
ralinkwifi
realtekwifi
zydwifi1211
}@ # x86,x86_64,riscv64
] ;
@@ -12,6 +12,7 @@ SubInclude HAIKU_TOP src add-ons kernel drivers network wlan marvell88w8335 ;
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan marvell88w8363 ;
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan ralinkwifi ;
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan realtekwifi ;
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan zydwifi1211 ;
# OpenBSD drivers
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iaxwifi200 ;
@@ -0,0 +1,27 @@
SubDir HAIKU_TOP src add-ons kernel drivers network wlan zydwifi1211 ;
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : true ;
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_wlan ] : true ;
UsePrivateHeaders net system ;
UsePrivateKernelHeaders ;
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ]
-Wno-format -Wno-unused -Wno-uninitialized ;
UseHeaders [ FDirName $(SUBDIR) ] : true ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) dev usb wlan ] ;
KernelAddon zydwifi1211 :
if_zyd.c
glue.c
:
freebsd_wlan.a
freebsd_usb.a
libfreebsd_network.a
;
ObjectHdrs [ FGristFiles if_zyd$(SUFOBJ) ]
: [ FDirName $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) libs compat freebsd_network ] ;
Includes [ FGristFiles if_zyd.c ]
: <src!libs!compat!freebsd_network>usbdevs.h ;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1 @@
#include <sys/epoch.h>
@@ -0,0 +1,29 @@
/*
* Copyright 2026, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#include <sys/haiku-module.h>
HAIKU_FBSD_WLAN_DRIVERS_GLUE(zydwifi1211)
HAIKU_DRIVER_REQUIREMENTS(FBSD_WLAN);
HAIKU_FIRMWARE_VERSION(0);
NO_HAIKU_FIRMWARE_NAME_MAP();
NO_HAIKU_FBSD_MII_DRIVER();
NO_HAIKU_CHECK_DISABLE_INTERRUPTS();
NO_HAIKU_REENABLE_INTERRUPTS();
extern driver_t* DRIVER_MODULE_NAME(zyd, uhub);
void
__haiku_init_hardware()
{
driver_t *usb_drivers[] = {
DRIVER_MODULE_NAME(zyd, uhub),
NULL
};
_fbsd_init_hardware_uhub(usb_drivers);
}