commit:     0302aa96ba4ac7537636bba05ac75118ca6a57ac
Author:     Chí-Thanh Christopher Nguyễn <chithanh <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 21 22:10:47 2025 +0000
Commit:     Chí-Thanh Christopher Nguyễn <chithanh <AT> gentoo <DOT> org>
CommitDate: Mon Apr 21 22:10:47 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0302aa96

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 <AT> gentoo.org>

 net-wireless/aic8800/Manifest                      |  1 +
 net-wireless/aic8800/aic8800-1.0.6.ebuild          | 60 ++++++++++++++++++++++
 .../aic8800/files/aic8800-1.0.6-linux-6.12.patch   | 47 +++++++++++++++++
 3 files changed, 108 insertions(+)

diff --git a/net-wireless/aic8800/Manifest b/net-wireless/aic8800/Manifest
index 5855369aef24..6b6acfebe0c5 100644
--- a/net-wireless/aic8800/Manifest
+++ b/net-wireless/aic8800/Manifest
@@ -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

diff --git a/net-wireless/aic8800/aic8800-1.0.6.ebuild 
b/net-wireless/aic8800/aic8800-1.0.6.ebuild
new file mode 100644
index 000000000000..78de93abdb02
--- /dev/null
+++ b/net-wireless/aic8800/aic8800-1.0.6.ebuild
@@ -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
+}

diff --git a/net-wireless/aic8800/files/aic8800-1.0.6-linux-6.12.patch 
b/net-wireless/aic8800/files/aic8800-1.0.6-linux-6.12.patch
new file mode 100644
index 000000000000..e94e2e6bfdd8
--- /dev/null
+++ b/net-wireless/aic8800/files/aic8800-1.0.6-linux-6.12.patch
@@ -0,0 +1,47 @@
+From 04dc3e356a45ffc42dd0363799af9a487f5e1bf0 Mon Sep 17 00:00:00 2001
+From: Shen Mintao <cx330.s...@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);
+     }
+ 

Reply via email to