Signed-off-by: Janusz Dziedzic <janusz.dzied...@gmail.com>
---
 package/kernel/mac80211/Makefile              |  2 ++
 package/kernel/mac80211/ath.mk                | 22 +++++++++++++--
 ...2k-fix-compilation-with-older-kernel.patch | 28 +++++++++++++++++++
 3 files changed, 50 insertions(+), 2 deletions(-)
 create mode 100644 
package/kernel/mac80211/patches/ath12k/0001-wifi-ath12k-fix-compilation-with-older-kernel.patch

diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index 17e0d9451e..f980d1deb6 100644
--- a/package/kernel/mac80211/Makefile
+++ b/package/kernel/mac80211/Makefile
@@ -341,6 +341,7 @@ define Build/Patch
        $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath9k,ath9k/)
        $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/)
        $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/)
+       $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath12k,ath12k/)
        $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
        $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mt7601u,mt7601u/)
        $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
@@ -357,6 +358,7 @@ define Quilt/Refresh/Package
        $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath9k,ath9k/)
        $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/)
        $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/)
+       $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath12k,ath12k/)
        $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/)
        $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mt7601u,mt7601u/)
        $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/)
diff --git a/package/kernel/mac80211/ath.mk b/package/kernel/mac80211/ath.mk
index 881c89db25..beb1b2ae4f 100644
--- a/package/kernel/mac80211/ath.mk
+++ b/package/kernel/mac80211/ath.mk
@@ -1,6 +1,6 @@
 PKG_DRIVERS += \
        ath ath5k ath6kl ath6kl-sdio ath6kl-usb ath9k ath9k-common ath9k-htc 
ath10k ath10k-smallbuffers \
-       ath11k ath11k-ahb ath11k-pci carl9170 owl-loader ar5523 wil6210
+       ath11k ath11k-ahb ath11k-pci ath12k carl9170 owl-loader ar5523 wil6210
 
 PKG_CONFIG_DEPENDS += \
        CONFIG_PACKAGE_ATH_DEBUG \
@@ -21,6 +21,7 @@ ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
        ATH9K_HTC_DEBUGFS \
        ATH10K_DEBUGFS \
        ATH11K_DEBUGFS \
+       ATH12K_DEBUGFS \
        CARL9170_DEBUGFS \
        ATH5K_DEBUG \
        ATH6KL_DEBUG \
@@ -31,6 +32,7 @@ ifdef CONFIG_PACKAGE_MAC80211_TRACING
   config-y += \
        ATH10K_TRACING \
        ATH11K_TRACING \
+       ATH12K_TRACING \
        ATH6KL_TRACING \
        ATH_TRACEPOINTS \
        ATH5K_TRACER \
@@ -38,7 +40,7 @@ ifdef CONFIG_PACKAGE_MAC80211_TRACING
 endif
 
 config-$(call config_package,ath) += ATH_CARDS ATH_COMMON
-config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG 
ATH9K_STATION_STATISTICS
+config-$(CONFIG_PACKAGE_ATH_DEBUG) += ATH_DEBUG ATH10K_DEBUG ATH11K_DEBUG 
ATH12K_DEBUG ATH9K_STATION_STATISTICS
 config-$(CONFIG_PACKAGE_ATH_DFS) += ATH9K_DFS_CERTIFIED ATH10K_DFS_CERTIFIED
 config-$(CONFIG_PACKAGE_ATH_SPECTRAL) += ATH9K_COMMON_SPECTRAL ATH10K_SPECTRAL 
ATH11K_SPECTRAL
 config-$(CONFIG_PACKAGE_ATH_DYNACK) += ATH9K_DYNACK
@@ -63,6 +65,7 @@ config-$(call config_package,ath10k-smallbuffers) += ATH10K 
ATH10K_PCI ATH10K_SM
 config-$(call config_package,ath11k) += ATH11K
 config-$(call config_package,ath11k-ahb) += ATH11K_AHB
 config-$(call config_package,ath11k-pci) += ATH11K_PCI
+config-$(call config_package,ath12k) += ATH12K
 
 config-$(call config_package,ath5k) += ATH5K
 ifdef CONFIG_TARGET_ath25
@@ -349,6 +352,21 @@ This module adds support for Qualcomm Technologies 
802.11ax family of
 chipsets with PCI bus.
 endef
 
+define KernelPackage/ath12k
+  $(call KernelPackage/mac80211/Default)
+  TITLE:=Qualcomm 802.11be wireless chipset support
+  URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath12k
+  DEPENDS+= +kmod-ath +@DRIVER_11AC_SUPPORT +@DRIVER_11AX_SUPPORT \
+  +@DRIVER_11BE_SUPPORT +kmod-crypto-michael-mic +kmod-qrtr-mhi
+  FILES:=$(PKG_BUILD_DIR)/drivers/soc/qcom/qmi_helpers.ko \
+  $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath12k/ath12k.ko
+endef
+
+define KernelPackage/ath12k/description
+This module adds support for Qualcomm Technologies 802.11be family of
+chipsets with PCI bus.
+endef
+
 define KernelPackage/carl9170
   $(call KernelPackage/mac80211/Default)
   TITLE:=Driver for Atheros AR9170 USB sticks
diff --git 
a/package/kernel/mac80211/patches/ath12k/0001-wifi-ath12k-fix-compilation-with-older-kernel.patch
 
b/package/kernel/mac80211/patches/ath12k/0001-wifi-ath12k-fix-compilation-with-older-kernel.patch
new file mode 100644
index 0000000000..d51e5f8e9c
--- /dev/null
+++ 
b/package/kernel/mac80211/patches/ath12k/0001-wifi-ath12k-fix-compilation-with-older-kernel.patch
@@ -0,0 +1,28 @@
+--- a/drivers/net/wireless/ath/ath12k/core.c
++++ b/drivers/net/wireless/ath/ath12k/core.c
+@@ -886,7 +886,11 @@ void ath12k_core_deinit(struct ath12k_ba
+ 
+ void ath12k_core_free(struct ath12k_base *ab)
+ {
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(6, 2, 0))
+       timer_delete_sync(&ab->rx_replenish_retry);
++#else
++      del_timer_sync(&ab->rx_replenish_retry);
++#endif
+       destroy_workqueue(ab->workqueue_aux);
+       destroy_workqueue(ab->workqueue);
+       kfree(ab);
+--- a/drivers/net/wireless/ath/ath12k/pci.c
++++ b/drivers/net/wireless/ath/ath12k/pci.c
+@@ -690,7 +690,11 @@ static int ath12k_pci_msi_alloc(struct a
+       }
+ 
+       ab_pci->msi_ep_base_data = msi_desc->msg.data;
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(5, 17, 0))
+       if (msi_desc->pci.msi_attrib.is_64)
++#else
++      if (msi_desc->msi_attrib.is_64)
++#endif
+               set_bit(ATH12K_PCI_FLAG_IS_MSI_64, &ab_pci->flags);
+ 
+       ath12k_dbg(ab, ATH12K_DBG_PCI, "msi base data is %d\n", 
ab_pci->msi_ep_base_data);
-- 
2.25.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to