From: "Yanli Yang" <yanli.yang@bedmex.com>
To: "Johannes Berg" <johannes@sipsolutions.net>
Cc: <linux-wireless@vger.kernel.org>,
"Zhirun Liu" <zhirunliu@aicsemi.com>,
"Dijia Xu" <dijiaxu@aicsemi.com>,
"Chunqiu Liu" <chunqiuliu@aicsemi.com>,
"Liheng Wei" <liheng.wei@bedmex.com>
Subject: [RFC PATCH wireless-next v3 0/4] wifi: aic: add AIC8800D80 SDIO FullMAC driver
Date: Fri, 28 Aug 2026 20:11:29 +0800 [thread overview]
Message-ID: <cover.1787903339.git.yanli.yang@bedmex.com> (raw)
In-Reply-To: <007a0362a36d2318ea7a50c6feb8ad2ce1361c0d.camel@sipsolutions.net>
Johannes,
Thank you for the detailed review of v2. This RFC updates the AIC8800
driver based on that feedback and narrows the initial upstream target to
the AIC8800D80 U02 SDIO station path.
Compared with v2, the AIC directory is reduced from 132 to 109 submitted
files and from 67,352 to 53,879 lines. The Kconfig interface is reduced
to nine symbols and no longer exposes the old-kernel, GKI, Bluetooth,
bridge, Android or other downstream build variants.
For ease of comparison with the v2 review, the status of each item is
listed below in the same order and under the same headings. "Addressed"
means the reported interface or implementation has been removed or
replaced in v3. "Partly addressed" and "Open" items are not claimed as
fixed by this RFC.
Custom/duplicate userspace ABIs (hard blockers)
- Private generic-netlink interface -- Open. aicwf_genl.c and
aicwf_genl.h, providing the string-based AICWF_NL family, remain as
the optional AIC8800_GENL build. We have confirmed this point.
The implementation uses the unmodified in-kernel
genl_family API, and deployed customer userspace already issues
commands through this interface. Therefore we considers
these files necessary: deleting them would require a substantial,
coordinated change to existing userspace and is not feasible for this
revision. We nevertheless understand that use of the standard
generic-netlink transport does not by itself answer the upstream
objection to an additional private, string-based userspace ABI. This
item therefore remains open rather than being claimed as fixed.
- Android priv_cmd ioctl interpreter -- Partly addressed. The netdev
ioctl entry point, android_priv_cmd(), struct android_wifi_priv_cmd,
and all ifr_data handling have been removed. aic_priv_cmd.c was
reduced from about 2,000 to 766 lines and is no longer reachable
through that ioctl ABI. After reviewing the reduced implementation,
we confirmed that the remaining command set and its firmware
helpers are required and must be retained. This revision therefore
keeps aic_priv_cmd.c in its reduced form. The remaining commands
still need a per-command upstream review to determine whether any can
use nl80211/cfg80211, cfg80211 testmode or a narrowly scoped vendor
command instead.
- cfg80211 internals reimplementation/GKI shim -- Addressed. rwnx_gki.c
was removed. The driver no longer includes net/wireless/core.h,
declares a private nl80211 family, reimplements cfg80211 helpers, or
uses the invalid include/linux/types.h include path.
- Legacy Wireless Extensions layer -- Addressed. aicwf_wext_linux.c
and AIC8800_USE_WIRELESS_EXT were removed; the submitted build uses
cfg80211/nl80211.
- procfs suspend control -- Addressed. The "suspend" procfs node and
AIC8800_WIFI_SUSPEND_FOR_LINUX path were removed. Suspend and resume
are now connected through struct dev_pm_ops on the SDIO drivers.
- Vendor-HAL grab-bag with stubs -- Addressed. aic_vendor.c and its
keep-alive, APF, ring-buffer and wake-reason stub interfaces were
removed.
Kconfig / Makefile
- Config explosion -- Partly addressed. The visible and hidden Kconfig
interface was reduced from more than 50 symbols to nine, and the
*_FOR_OLD_KERNEL, RWNX_TL4, RWNX_OLD_IPC, AIC8800_GKI,
AIC8800_BR_SUPPORT, AIC8800_SDIO_BT and other downstream switches are
no longer present or hidden behind BROKEN. The submitted build is
restricted to the AIC8800D80 U02 SDIO station path. Some source for
unselected chips/modes and disabled conditional branches still
remains; it will be deleted rather than exposed as more Kconfig
switches.
- ccflags-$(CONFIG_x) += -DCONFIG_y -- Open. The number of such defines
was reduced, but the Makefiles still define CONFIG_SDIO_PWRCTRL,
CONFIG_RWNX_FULLMAC and several driver-local feature macros. The
remaining real choices need to use Kconfig symbols/IS_ENABLED(), and
fixed properties of the initial baseline need ordinary internal
constants after the disabled branches are removed.
Structural
- BSP/fdrv split with a private exported ABI -- Open. The two modules
and cross-module exports, including aicbsp_set_subsys(),
aicbsp_get_feature(), get_sdio_func() and set_irq_handler(), remain.
They need to become one cleanly layered driver, with the transport
and device lifecycle internal to it and the private exports removed.
- Bluetooth over SDIO -- Addressed. aic_btsdio.c, its private character
device and AIC8800_SDIO_BT were removed from the series.
- br_ext repeater bridge -- Addressed. aic_br_ext.c and
AIC8800_BR_SUPPORT were removed.
- Reinvented in-tree infrastructure -- Partly addressed. Both bundled
md5.c copies were replaced by CRYPTO_LIB_MD5, and rwnx_wakelock.c was
removed. The private regdb.c/self-managed regulatory path remains.
The RX, TX-queue and reserved-memory preallocation sources or disabled
branches, and the TCP-ACK filtering source, also remain in the tree,
although their feature macros are not enabled by the submitted build.
These remaining implementations must be removed and the normal kernel
regulatory and allocation infrastructure used.
Portability / style
- Kernel-version and Android compatibility shims -- Partly addressed.
The LINUX_VERSION_CODE/HIGH_KERNEL_VERSION/ANDROID_PLATFORM branches
were removed and the submitted code targets current wireless-next.
rwnx_compat.h still exists with current-kernel aliases and an obsolete
old-kernel comment; those aliases and the stale wrapper structure
still need cleanup.
- Private _l typedefs -- Addressed. u8_l, u16_l and bool_l were removed,
including the erroneous u16 definition of u8_l. The code now uses
kernel fixed-width types.
- Too many module parameters -- Open. Debug levels, SDIO queue/thread
tuning, country_code/ccode_channels, saved_sdk_ver and many FullMAC
feature parameters remain. Policy/configuration parameters must be
removed or replaced by standard nl80211, cfg80211 or firmware/DT
interfaces where appropriate.
- Generated version headers -- Addressed. The duplicated
rwnx_version_gen.h files and their generated branch/release strings
were removed.
- Dead/commented code and busy waits -- Partly addressed. The
msleep(2000) private-command path and some dead/commented code were
removed, but mdelay(100) remains in rwnx_msg_tx.c, other busy waits
remain, and further dead/commented source still needs deletion. Each
remaining delay must be audited and changed to a sleepable wait where
its calling context permits.
In short, v3 removes the GKI/cfg80211 reimplementation, Wireless
Extensions, procfs control, vendor-HAL stubs, Bluetooth character device,
bridge extension, bundled MD5, private wakelocks, private _l types and
generated version headers. Following confirmation, it
retains the private generic-netlink interface and the reduced private
command implementation because deployed customer userspace depends on
them and removal requires a substantial coordinated userspace change.
This dependency does not resolve the upstream ABI objection. The module
split/private exports, Makefile CONFIG_* defines, private regulatory
implementation and module-parameter cleanup also remain open. Those
unresolved hard blockers are why this remains an RFC.
Validation performed for v3 against wireless-next at ac798f757d6475:
- x86-64 GCC 15.2.0 module build with AIC8800_BSP_SUPPORT=m,
AIC8800_WLAN_SUPPORT=m and AIC8800_GENL=y using W=1;
- scripts/checkpatch.pl, sparse and coccicheck, with no new compiler or
sparse warnings;
- sequential application of all four patches; and
- comparison of the generated patch snapshot with the current AIC
source directory.
Runtime validation was performed on AIC8800D80 U02 SDIO hardware with
firmware fmacfw_8800d80_u02.bin v6.9.1.1. The following tests passed:
- driver probe/firmware boot and module unload/reload, 50 iterations
each;
- active and passive scanning on 2.4 and 5 GHz;
- station mode with open, WPA2-PSK and WPA3-SAE networks;
- disconnect/reconnect, 50 iterations, and IPv4/IPv6 connectivity;
- TCP TX/RX throughput of 196/210 Mbps on 2.4 GHz and 375/445 Mbps on
5 GHz;
- UDP TX/RX throughput of 218/225 Mbps on 2.4 GHz and 422/511 Mbps on
5 GHz;
- suspend/resume, 50 iterations, and rfkill; and
- 10 hours of continuous traffic.
No crashes, warnings, lockdep reports or firmware crashes were observed
in the kernel log. Built-in and Clang builds, smatch and AP mode were not
tested. Firmware redistribution permission and DT power/wake bindings
also remain outstanding.
Please review whether the changes made so far meet the upstream community
requirements. Since this revision is based on a refreshed set of
commits, I would also appreciate another review for regressions or any
additional issues exposed by the new changes.
---
v2: https://lore.kernel.org/r/cover.1784724170.git.yanli.yang@bedmex.com
v1: https://lore.kernel.org/r/cover.1784544076.git.yanli.yang@bedmex.com
Zhirun Liu (4):
wifi: aic: add SDIO BSP and build configuration
wifi: aic: add FullMAC firmware and platform interface
wifi: aic: add FullMAC WLAN driver
wifi: aic: integrate AIC8800 driver
MAINTAINERS | 10 +
drivers/net/wireless/Kconfig | 1 +
drivers/net/wireless/Makefile | 1 +
drivers/net/wireless/aic/Kconfig | 40 +
drivers/net/wireless/aic/Makefile | 7 +
drivers/net/wireless/aic/aic8800_bsp/Kconfig | 3 +
drivers/net/wireless/aic/aic8800_bsp/Makefile | 16 +
.../aic/aic8800_bsp/aic8800d80_compat.c | 292 +
.../aic/aic8800_bsp/aic8800d80_compat.h | 11 +
.../aic/aic8800_bsp/aic8800dc_compat.c | 1342 ++++
.../aic/aic8800_bsp/aic8800dc_compat.h | 34 +
.../wireless/aic/aic8800_bsp/aic_bsp_driver.c | 1670 +++++
.../wireless/aic/aic8800_bsp/aic_bsp_driver.h | 598 ++
.../wireless/aic/aic8800_bsp/aic_bsp_export.h | 70 +
.../wireless/aic/aic8800_bsp/aic_bsp_main.c | 310 +
.../aic/aic8800_bsp/aic_chip_8800d80.c | 98 +
.../aic/aic8800_bsp/aic_chip_8800dc.c | 133 +
.../wireless/aic/aic8800_bsp/aic_chip_8801.c | 117 +
.../wireless/aic/aic8800_bsp/aic_chip_ops.c | 64 +
.../wireless/aic/aic8800_bsp/aic_chip_ops.h | 69 +
.../net/wireless/aic/aic8800_bsp/aicsdio.c | 2027 ++++++
.../net/wireless/aic/aic8800_bsp/aicsdio.h | 176 +
.../wireless/aic/aic8800_bsp/aicsdio_txrxif.c | 464 ++
.../wireless/aic/aic8800_bsp/aicsdio_txrxif.h | 180 +
.../aic/aic8800_bsp/aicwf_txq_prealloc.c | 72 +
.../aic/aic8800_bsp/aicwf_txq_prealloc.h | 8 +
drivers/net/wireless/aic/aic8800_fdrv/Kconfig | 37 +
.../net/wireless/aic/aic8800_fdrv/Makefile | 46 +
.../aic/aic8800_fdrv/aic_bsp_export.h | 62 +
.../net/wireless/aic/aic8800_fdrv/aic_bus.h | 191 +
.../wireless/aic/aic8800_fdrv/aic_priv_cmd.c | 766 +++
.../wireless/aic/aic8800_fdrv/aic_priv_cmd.h | 103 +
.../aic/aic8800_fdrv/aicwf_chip_8800d80.c | 291 +
.../aic/aic8800_fdrv/aicwf_chip_8800dc.c | 300 +
.../aic/aic8800_fdrv/aicwf_chip_8801.c | 279 +
.../aic/aic8800_fdrv/aicwf_chip_ops.c | 251 +
.../aic/aic8800_fdrv/aicwf_chip_ops.h | 184 +
.../aic/aic8800_fdrv/aicwf_compat_8800d80.c | 96 +
.../aic/aic8800_fdrv/aicwf_compat_8800d80.h | 16 +
.../aic/aic8800_fdrv/aicwf_compat_8800dc.c | 505 ++
.../aic/aic8800_fdrv/aicwf_compat_8800dc.h | 22 +
.../wireless/aic/aic8800_fdrv/aicwf_debug.h | 37 +
.../wireless/aic/aic8800_fdrv/aicwf_genl.c | 699 +++
.../wireless/aic/aic8800_fdrv/aicwf_genl.h | 84 +
.../aic/aic8800_fdrv/aicwf_rx_prealloc.c | 102 +
.../aic/aic8800_fdrv/aicwf_rx_prealloc.h | 34 +
.../wireless/aic/aic8800_fdrv/aicwf_sdio.c | 2831 +++++++++
.../wireless/aic/aic8800_fdrv/aicwf_sdio.h | 275 +
.../wireless/aic/aic8800_fdrv/aicwf_tcp_ack.c | 565 ++
.../wireless/aic/aic8800_fdrv/aicwf_tcp_ack.h | 104 +
.../wireless/aic/aic8800_fdrv/aicwf_txrxif.c | 752 +++
.../wireless/aic/aic8800_fdrv/aicwf_txrxif.h | 217 +
.../net/wireless/aic/aic8800_fdrv/hal_desc.h | 359 ++
.../wireless/aic/aic8800_fdrv/ipc_compat.h | 25 +
.../net/wireless/aic/aic8800_fdrv/ipc_host.c | 42 +
.../net/wireless/aic/aic8800_fdrv/ipc_host.h | 169 +
.../wireless/aic/aic8800_fdrv/ipc_shared.h | 770 +++
.../net/wireless/aic/aic8800_fdrv/lmac_mac.h | 437 ++
.../net/wireless/aic/aic8800_fdrv/lmac_msg.h | 3101 ++++++++++
.../wireless/aic/aic8800_fdrv/lmac_types.h | 22 +
.../wireless/aic/aic8800_fdrv/reg_access.h | 146 +
drivers/net/wireless/aic/aic8800_fdrv/regdb.c | 2772 +++++++++
.../wireless/aic/aic8800_fdrv/rwnx_bfmer.c | 93 +
.../wireless/aic/aic8800_fdrv/rwnx_bfmer.h | 100 +
.../wireless/aic/aic8800_fdrv/rwnx_cfgfile.c | 265 +
.../wireless/aic/aic8800_fdrv/rwnx_cfgfile.h | 33 +
.../net/wireless/aic/aic8800_fdrv/rwnx_cmds.c | 471 ++
.../net/wireless/aic/aic8800_fdrv/rwnx_cmds.h | 99 +
.../wireless/aic/aic8800_fdrv/rwnx_compat.h | 80 +
.../net/wireless/aic/aic8800_fdrv/rwnx_defs.h | 704 +++
.../wireless/aic/aic8800_fdrv/rwnx_events.h | 938 +++
.../net/wireless/aic/aic8800_fdrv/rwnx_irqs.c | 49 +
.../net/wireless/aic/aic8800_fdrv/rwnx_irqs.h | 12 +
.../net/wireless/aic/aic8800_fdrv/rwnx_main.c | 5439 +++++++++++++++++
.../net/wireless/aic/aic8800_fdrv/rwnx_main.h | 35 +
.../net/wireless/aic/aic8800_fdrv/rwnx_mesh.c | 33 +
.../net/wireless/aic/aic8800_fdrv/rwnx_mesh.h | 35 +
.../aic/aic8800_fdrv/rwnx_mod_params.c | 985 +++
.../aic/aic8800_fdrv/rwnx_mod_params.h | 74 +
.../wireless/aic/aic8800_fdrv/rwnx_msg_rx.c | 1620 +++++
.../wireless/aic/aic8800_fdrv/rwnx_msg_rx.h | 8 +
.../wireless/aic/aic8800_fdrv/rwnx_msg_tx.c | 3619 +++++++++++
.../wireless/aic/aic8800_fdrv/rwnx_msg_tx.h | 266 +
.../wireless/aic/aic8800_fdrv/rwnx_mu_group.c | 653 ++
.../wireless/aic/aic8800_fdrv/rwnx_mu_group.h | 159 +
.../wireless/aic/aic8800_fdrv/rwnx_platform.c | 2868 +++++++++
.../wireless/aic/aic8800_fdrv/rwnx_platform.h | 183 +
.../net/wireless/aic/aic8800_fdrv/rwnx_prof.h | 142 +
.../wireless/aic/aic8800_fdrv/rwnx_radar.c | 1970 ++++++
.../wireless/aic/aic8800_fdrv/rwnx_radar.h | 285 +
.../net/wireless/aic/aic8800_fdrv/rwnx_rx.c | 2320 +++++++
.../net/wireless/aic/aic8800_fdrv/rwnx_rx.h | 358 ++
.../net/wireless/aic/aic8800_fdrv/rwnx_strs.c | 269 +
.../net/wireless/aic/aic8800_fdrv/rwnx_strs.h | 31 +
.../net/wireless/aic/aic8800_fdrv/rwnx_tdls.c | 773 +++
.../net/wireless/aic/aic8800_fdrv/rwnx_tdls.h | 57 +
.../wireless/aic/aic8800_fdrv/rwnx_testmode.c | 217 +
.../wireless/aic/aic8800_fdrv/rwnx_testmode.h | 68 +
.../wireless/aic/aic8800_fdrv/rwnx_trace.c | 5 +
.../net/wireless/aic/aic8800_fdrv/rwnx_tx.c | 1635 +++++
.../net/wireless/aic/aic8800_fdrv/rwnx_tx.h | 176 +
.../net/wireless/aic/aic8800_fdrv/rwnx_txq.c | 1362 +++++
.../net/wireless/aic/aic8800_fdrv/rwnx_txq.h | 358 ++
.../wireless/aic/aic8800_fdrv/rwnx_utils.c | 35 +
.../wireless/aic/aic8800_fdrv/rwnx_utils.h | 131 +
.../net/wireless/aic/aic8800_fdrv/rwnx_v7.c | 181 +
.../net/wireless/aic/aic8800_fdrv/rwnx_v7.h | 21 +
.../net/wireless/aic/aic8800_fdrv/sdio_host.c | 132 +
.../net/wireless/aic/aic8800_fdrv/sdio_host.h | 39 +
109 files changed, 53891 insertions(+)
create mode 100644 drivers/net/wireless/aic/Kconfig
create mode 100644 drivers/net/wireless/aic/Makefile
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/Kconfig
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/Makefile
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic8800d80_compat.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic8800d80_compat.h
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic8800dc_compat.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic8800dc_compat.h
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_bsp_driver.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_bsp_driver.h
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_bsp_export.h
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_bsp_main.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_chip_8800d80.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_chip_8800dc.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_chip_8801.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_chip_ops.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aic_chip_ops.h
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicsdio.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicsdio.h
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicsdio_txrxif.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicsdio_txrxif.h
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicwf_txq_prealloc.c
create mode 100644 drivers/net/wireless/aic/aic8800_bsp/aicwf_txq_prealloc.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/Kconfig
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/Makefile
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aic_bsp_export.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aic_bus.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aic_priv_cmd.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aic_priv_cmd.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_chip_8800d80.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_chip_8800dc.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_chip_8801.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_chip_ops.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_chip_ops.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_compat_8800d80.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_compat_8800d80.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_compat_8800dc.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_compat_8800dc.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_debug.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_genl.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_genl.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_rx_prealloc.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_rx_prealloc.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_sdio.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_sdio.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_tcp_ack.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_tcp_ack.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_txrxif.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/aicwf_txrxif.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/hal_desc.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/ipc_compat.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/ipc_host.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/ipc_host.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/ipc_shared.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/lmac_mac.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/lmac_msg.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/lmac_types.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/reg_access.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/regdb.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_bfmer.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_bfmer.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_cfgfile.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_cfgfile.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_cmds.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_cmds.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_compat.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_defs.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_events.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_irqs.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_irqs.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_main.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_main.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mesh.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mesh.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mod_params.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mod_params.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_msg_rx.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_msg_rx.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_msg_tx.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_msg_tx.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mu_group.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_mu_group.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_platform.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_platform.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_prof.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_radar.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_radar.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_rx.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_rx.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_strs.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_strs.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_tdls.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_tdls.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_testmode.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_testmode.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_trace.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_tx.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_tx.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_txq.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_txq.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_utils.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_utils.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_v7.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/rwnx_v7.h
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/sdio_host.c
create mode 100644 drivers/net/wireless/aic/aic8800_fdrv/sdio_host.h
base-commit: ac798f757d6475dc6fee2ec899980d6740714596
--
2.34.1
next prev parent reply other threads:[~2026-08-28 12:11 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-23 2:13 [RFC PATCH wireless-next v2 0/4] wifi: aic: add AIC8800 SDIO FullMAC driver Yanli Yang
2026-07-23 2:13 ` [RFC PATCH wireless-next v2 1/4] wifi: aic: add SDIO BSP and build configuration Yanli Yang
2026-07-23 2:13 ` [RFC PATCH wireless-next v2 2/4] wifi: aic: add FullMAC firmware and platform interface Yanli Yang
2026-07-23 2:13 ` [RFC PATCH wireless-next v2 3/4] wifi: aic: add FullMAC WLAN driver Yanli Yang
2026-07-23 2:13 ` [RFC PATCH wireless-next v2 4/4] wifi: aic: integrate AIC8800 driver Yanli Yang
2026-07-23 8:42 ` [RFC PATCH wireless-next v2 0/4] wifi: aic: add AIC8800 SDIO FullMAC driver Johannes Berg
2026-07-23 8:48 ` Johannes Berg
2026-08-28 12:11 ` Yanli Yang [this message]
2026-08-28 12:11 ` [RFC PATCH wireless-next v3 1/4] wifi: aic: add SDIO BSP and build configuration Yanli Yang
2026-08-29 8:18 ` Krzysztof Kozlowski
2026-08-28 12:11 ` [RFC PATCH wireless-next v3 2/4] wifi: aic: add FullMAC firmware and platform interface Yanli Yang
2026-08-28 12:11 ` [RFC PATCH wireless-next v3 3/4] wifi: aic: add FullMAC WLAN driver Yanli Yang
2026-08-29 8:21 ` Krzysztof Kozlowski
2026-08-28 12:11 ` [RFC PATCH wireless-next v3 4/4] wifi: aic: integrate AIC8800 driver Yanli Yang
2026-08-29 8:21 ` [RFC PATCH wireless-next v4 0/4] wifi: aic: add AIC8800D80 SDIO FullMAC driver Yanli Yang
2026-08-29 8:21 ` [RFC PATCH wireless-next v4 1/4] wifi: aic: add SDIO BSP and build configuration Yanli Yang
2026-08-29 8:21 ` [RFC PATCH wireless-next v4 2/4] wifi: aic: add FullMAC firmware and platform interface Yanli Yang
2026-08-29 8:21 ` [RFC PATCH wireless-next v4 3/4] wifi: aic: add FullMAC WLAN driver Yanli Yang
2026-08-29 8:21 ` [RFC PATCH wireless-next v4 4/4] wifi: aic: integrate AIC8800 driver Yanli Yang
2026-08-31 7:16 ` [RFC PATCH wireless-next v4 0/4] wifi: aic: add AIC8800D80 SDIO FullMAC driver Christian Hewitt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1787903339.git.yanli.yang@bedmex.com \
--to=yanli.yang@bedmex.com \
--cc=chunqiuliu@aicsemi.com \
--cc=dijiaxu@aicsemi.com \
--cc=johannes@sipsolutions.net \
--cc=liheng.wei@bedmex.com \
--cc=linux-wireless@vger.kernel.org \
--cc=zhirunliu@aicsemi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox