The branch main has been updated by bz:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=db20376a4fc949d6a5b30b11f8bf9146c6b3395d

commit db20376a4fc949d6a5b30b11f8bf9146c6b3395d
Author:     Bjoern A. Zeeb <[email protected]>
AuthorDate: 2025-12-14 22:28:46 +0000
Commit:     Bjoern A. Zeeb <[email protected]>
CommitDate: 2026-02-09 21:49:46 +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.
    
    MFC after:      3 days
---
 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

Reply via email to