git: c2b7d9ae065d - stable/15 - ath10k: cleanup some bits no longer FreeBSD-specific
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 27 Feb 2026 02:29:55 UTC
The branch stable/15 has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=c2b7d9ae065d3ff49098aa485d567aa4e3622477
commit c2b7d9ae065d3ff49098aa485d567aa4e3622477
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2025-12-14 22:28:46 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2026-02-26 23:05:35 +0000
ath10k: cleanup some bits no longer FreeBSD-specific
We have since I did this port in 2023 added ACPI support to LinuxKPI, so
we can use it. Also there is a linux/of.h header so we no longer need
to guard the #include.
(cherry picked from commit db20376a4fc949d6a5b30b11f8bf9146c6b3395d)
---
sys/contrib/dev/athk/ath10k/core.c | 4 +---
sys/contrib/dev/athk/ath10k/htt_rx.c | 5 ++---
sys/contrib/dev/athk/ath10k/mac.c | 36 +-----------------------------------
sys/modules/ath10k/Makefile | 1 +
4 files changed, 5 insertions(+), 41 deletions(-)
diff --git a/sys/contrib/dev/athk/ath10k/core.c b/sys/contrib/dev/athk/ath10k/core.c
index 9ec08b402fd2..6167338b5c79 100644
--- a/sys/contrib/dev/athk/ath10k/core.c
+++ b/sys/contrib/dev/athk/ath10k/core.c
@@ -13,9 +13,7 @@
#include <linux/export.h>
#include <linux/module.h>
#include <linux/firmware.h>
-#if defined(__linux__) || (defined(__FreeBSD__) && defined(CONFIG_OF))
#include <linux/of.h>
-#endif
#include <linux/property.h>
#include <linux/dmi.h>
#include <linux/ctype.h>
@@ -2048,7 +2046,7 @@ static int ath10k_download_cal_nvmem(struct ath10k *ar, const char *cell_name)
ret = ath10k_download_board_data(ar, buf, len);
kfree(buf);
#elif defined(__FreeBSD__)
- ret = -ENXIO;
+ ret = -EOPNOTSUPP;
#endif
if (ret)
ath10k_warn(ar, "failed to download calibration data from nvmem-cell '%s': %d\n",
diff --git a/sys/contrib/dev/athk/ath10k/htt_rx.c b/sys/contrib/dev/athk/ath10k/htt_rx.c
index ad61fad315c5..d73369ffb697 100644
--- a/sys/contrib/dev/athk/ath10k/htt_rx.c
+++ b/sys/contrib/dev/athk/ath10k/htt_rx.c
@@ -849,9 +849,6 @@ int ath10k_htt_rx_alloc(struct ath10k_htt *htt)
timer_setup(timer, ath10k_htt_rx_ring_refill_retry, 0);
spin_lock_init(&htt->rx_ring.lock);
-#if defined(__FreeBSD__)
- spin_lock_init(&htt->tx_fetch_ind_q.lock);
-#endif
htt->rx_ring.fill_cnt = 0;
htt->rx_ring.sw_rd_idx.msdu_payld = 0;
@@ -1670,6 +1667,7 @@ static void ath10k_htt_rx_h_undecap_nwifi(struct ath10k *ar,
ether_addr_copy(ieee80211_get_DA(hdr), da);
ether_addr_copy(ieee80211_get_SA(hdr), sa);
#elif defined(__FreeBSD__)
+ /* ieee80211_get_[DS]A() do not take a const argument. */
hdr2 = (struct ieee80211_hdr *)msdu->data;
ether_addr_copy(ieee80211_get_DA(hdr2), da);
ether_addr_copy(ieee80211_get_SA(hdr2), sa);
@@ -1812,6 +1810,7 @@ static void ath10k_htt_rx_h_undecap_eth(struct ath10k *ar,
ether_addr_copy(ieee80211_get_DA(hdr), da);
ether_addr_copy(ieee80211_get_SA(hdr), sa);
#elif defined(__FreeBSD__)
+ /* ieee80211_get_[DS]A() do not take a const argument. */
hdr2 = (struct ieee80211_hdr *)msdu->data;
ether_addr_copy(ieee80211_get_DA(hdr2), da);
ether_addr_copy(ieee80211_get_SA(hdr2), sa);
diff --git a/sys/contrib/dev/athk/ath10k/mac.c b/sys/contrib/dev/athk/ath10k/mac.c
index e2bda3c0d925..d8e6bd2d277d 100644
--- a/sys/contrib/dev/athk/ath10k/mac.c
+++ b/sys/contrib/dev/athk/ath10k/mac.c
@@ -13,9 +13,7 @@
#include <net/mac80211.h>
#include <linux/etherdevice.h>
#include <linux/acpi.h>
-#if defined(__linux__) || (defined(__FreeBSD__) && defined(CONFIG_OF))
#include <linux/of.h>
-#endif
#include <linux/bitfield.h>
#include <linux/random.h>
@@ -5130,7 +5128,7 @@ static int __ath10k_fetch_bb_timing_dt(struct ath10k *ar,
bb_timing->bb_tx_timing, bb_timing->bb_xpa_timing);
return 0;
#else
- return -EINVAL;
+ return -ENOENT;
#endif
}
@@ -9914,22 +9912,14 @@ static u32 ath10k_mac_wrdd_get_mcc(struct ath10k *ar, union acpi_object *wrdd)
union acpi_object *mcc_value;
u32 i;
-#if defined(__linux__)
if (wrdd->type != ACPI_TYPE_PACKAGE ||
wrdd->package.count < 2 ||
wrdd->package.elements[0].type != ACPI_TYPE_INTEGER ||
wrdd->package.elements[0].integer.value != 0) {
-#elif defined(__FreeBSD__)
- if (wrdd->Type != ACPI_TYPE_PACKAGE ||
- wrdd->Package.Count < 2 ||
- wrdd->Package.Elements[0].Type != ACPI_TYPE_INTEGER ||
- wrdd->Package.Elements[0].Integer.Value != 0) {
-#endif
ath10k_warn(ar, "ignoring malformed/unsupported wrdd structure\n");
return 0;
}
-#if defined(__linux__)
for (i = 1; i < wrdd->package.count; ++i) {
mcc_pkg = &wrdd->package.elements[i];
@@ -9947,25 +9937,6 @@ static u32 ath10k_mac_wrdd_get_mcc(struct ath10k *ar, union acpi_object *wrdd)
mcc_value = &mcc_pkg->package.elements[1];
return mcc_value->integer.value;
-#elif defined(__FreeBSD__)
- for (i = 1; i < wrdd->Package.Count; ++i) {
- mcc_pkg = &wrdd->Package.Elements[i];
-
- if (mcc_pkg->Type != ACPI_TYPE_PACKAGE)
- continue;
- if (mcc_pkg->Package.Count < 2)
- continue;
- if (mcc_pkg->Package.Elements[0].Type != ACPI_TYPE_INTEGER ||
- mcc_pkg->Package.Elements[1].Type != ACPI_TYPE_INTEGER)
- continue;
-
- domain_type = &mcc_pkg->Package.Elements[0];
- if (domain_type->Integer.Value != WRDD_WIFI)
- continue;
-
- mcc_value = &mcc_pkg->Package.Elements[1];
- return mcc_value->Integer.Value;
-#endif
}
return 0;
}
@@ -9997,13 +9968,8 @@ static int ath10k_mac_get_wrdd_regulatory(struct ath10k *ar, u16 *rd)
return -EIO;
}
-#if defined(__linux__)
alpha2_code = ath10k_mac_wrdd_get_mcc(ar, wrdd.pointer);
kfree(wrdd.pointer);
-#elif defined(__FreeBSD__)
- alpha2_code = ath10k_mac_wrdd_get_mcc(ar, wrdd.Pointer);
- kfree(wrdd.Pointer);
-#endif
if (!alpha2_code)
return -EIO;
diff --git a/sys/modules/ath10k/Makefile b/sys/modules/ath10k/Makefile
index d8196854b681..93518c66f89f 100644
--- a/sys/modules/ath10k/Makefile
+++ b/sys/modules/ath10k/Makefile
@@ -38,6 +38,7 @@ CFLAGS+= ${LINUXKPI_INCLUDES}
#CFLAGS+= -ferror-limit=0
CFLAGS+= -DCONFIG_ATH10K_DEBUG
+CFLAGS+= -DLINUXKPI_WANT_LINUX_ACPI
#CFLAGS+= -DCONFIG_ATH10K_AHB
#CFLAGS+= -DCONFIG_ATH10K_DEBUGFS