@@ -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/)
@@ -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
new file mode 100644
@@ -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);
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@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