net-wireless/aic8800: add 1.0.6

Hard depend on MAC80211 and USB in kernel config

Bug: https://bugs.gentoo.org/922866
Signed-off-by: Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
This commit is contained in:
Chí-Thanh Christopher Nguyễn
2025-04-22 00:10:47 +02:00
parent 7ed92bb9b3
commit 0302aa96ba
3 changed files with 108 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST aic8800-1.0.3.deb 535400 BLAKE2B 0e337bded43f99a00fb3d786742418d7faf0adf3d6e517933d4d4a82e7e723e5f45798991238a02fb1836529a5d72cc56181356939eb150feb4c26f14dcd762e SHA512 0917ac4f5a594adb68c084f38bedacb92f3c0700d13dda497943d199bd883c18fc624ffc579091b40fdc6322dc2e5b81cc21add06b27ae8364ee2f8f9f119a7d
DIST aic8800-1.0.5.deb 595050 BLAKE2B 551e9ad09814bcab5464a7bfe09b922e400253403568068b74d839b8d53261251424b571266abed907314d08b27ac5bdbd51abd493bec5d0a511363173635e42 SHA512 4b4917a510caf1104ae7124f883b958d6a936a6e172d1afcc79f58349a943e0feb9a8bb35d326f96c56e0b089d62e3359cf81967e01e1edb1a1ddfc6fe101da0
DIST aic8800-1.0.6.deb 594776 BLAKE2B dc248a58424ad2d5a3824568da350dc8af37d81046a9dac67281ea88e4d7c8af11f3f514b60ad39bfa419ac8a086f09f9e349945a0ed300e622c16d8ffddc982 SHA512 b5bfb20d5ad128f66c923c5ee278acbcf29b406c17efe5cdd2b1e5838f44559f5e7e36926ef6eaa6c57df0183f5b26cbae42b9e34b62b0471193e2188e675a9c

View File

@@ -0,0 +1,60 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
inherit linux-mod-r1 udev unpacker
DESCRIPTION="aic8800 driver for AICSemi AIC8800/8801/8800DC/8800DW/8800FC Wifi/Bluetooth"
HOMEPAGE="https://www.aicsemi.com/ https://linux.brostrend.com/troubleshooting/source-code/"
SRC_URI="https://linux.brostrend.com/${PN}-dkms.deb -> ${P}.deb"
LICENSE="GPL-2+ firmware? ( freedist )"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+firmware udev"
CONFIG_CHECK="MAC80211 USB ~BT_HCIBTUSB"
PATCHES="${FILESDIR}/${PN}-1.0.6-linux-6.12.patch"
BDEPEND+="
$(unpacker_src_uri_depends)"
S="${WORKDIR}/usr/src/${P}"
src_compile() {
MODULES_MAKEARGS+=(
KDIR="${KV_OUT_DIR}"
)
emake "${MODULES_MAKEARGS[@]}"
}
src_install() {
linux_moduleinto kernel/drivers/net/wireless/${PN}
linux_domodule aic8800_fdrv/aic8800_fdrv.ko aic_load_fw/aic_load_fw.ko
modules_post_process
if use firmware; then
insinto /lib/firmware
doins -r "${WORKDIR}/lib/firmware/aic8800DC"
fi
if use udev; then
# install udev rules for USB mode switching
udev_newrules "${WORKDIR}/lib/udev/rules.d/aic.rules" 99-aic-modeswitch.rules
fi
}
pkg_postinst() {
if use udev; then
udev_reload
fi
linux-mod-r1_pkg_postinst
}
pkg_postrm() {
if use udev; then
udev_reload
fi
}

View File

@@ -0,0 +1,47 @@
From 04dc3e356a45ffc42dd0363799af9a487f5e1bf0 Mon Sep 17 00:00:00 2001
From: Shen Mintao <cx330.shen@autocore.ai>
Date: Thu, 9 Jan 2025 11:06:42 +0800
Subject: [PATCH] fix some source code for kernel 6.12
--- a/aic8800_fdrv/rwnx_main.c
+++ b/aic8800_fdrv/rwnx_main.c
@@ -4545,6 +4547,11 @@ int rwnx_cfg80211_start_radar_detection(struct wiphy *wiphy,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
, u32 cac_time_ms
#endif
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0))
+ , int link_id
+ #endif
+
+
)
{
struct rwnx_hw *rwnx_hw = wiphy_priv(wiphy);
--- a/aic8800_fdrv/rwnx_radar.c
+++ b/aic8800_fdrv/rwnx_radar.c
@@ -1399,7 +1399,11 @@ static void rwnx_radar_cac_work(struct work_struct *ws)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
&ctxt->chan_def,
#endif
- NL80211_RADAR_CAC_FINISHED, GFP_KERNEL);
+ NL80211_RADAR_CAC_FINISHED, GFP_KERNEL
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
+ , 0
+ #endif
+ );
rwnx_send_apm_stop_cac_req(rwnx_hw, radar->cac_vif);
rwnx_chanctx_unlink(radar->cac_vif);
@@ -1499,7 +1503,11 @@ void rwnx_radar_cancel_cac(struct rwnx_radar *radar)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 14, 0)
&ctxt->chan_def,
#endif
- NL80211_RADAR_CAC_ABORTED, GFP_KERNEL);
+ NL80211_RADAR_CAC_ABORTED, GFP_KERNEL
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
+ , 0
+ #endif
+ );
rwnx_chanctx_unlink(radar->cac_vif);
}