QCN9575 is a Wi-Fi 8 target with a distinct hardware family that cannot share the Wi-Fi 7 module. Add a dedicated wifi8/ subdirectory to host QCN9575-specific code. Introduce Wi-Fi 8 build rules, base module source files (wifi8/core.c, wifi8/pci.c, wifi8/pci.h), and add ATH12K_DEVICE_FAMILY_WIFI8 to ath12k_device_family. Keep Wi-Fi 8 PCI init/exit as stubs so the module builds cleanly and remains bisect-safe; actual PCI driver registration and hardware support come in follow-up patches. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1 Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3 Signed-off-by: Madhavan Ganesan --- drivers/net/wireless/ath/ath12k/Makefile | 1 + drivers/net/wireless/ath/ath12k/core.h | 1 + drivers/net/wireless/ath/ath12k/wifi8/Makefile | 4 ++++ drivers/net/wireless/ath/ath12k/wifi8/core.c | 31 ++++++++++++++++++++++++++ drivers/net/wireless/ath/ath12k/wifi8/pci.c | 18 +++++++++++++++ drivers/net/wireless/ath/ath12k/wifi8/pci.h | 11 +++++++++ 6 files changed, 66 insertions(+) diff --git a/drivers/net/wireless/ath/ath12k/Makefile b/drivers/net/wireless/ath/ath12k/Makefile index 861ec85eebed..332110d72a1d 100644 --- a/drivers/net/wireless/ath/ath12k/Makefile +++ b/drivers/net/wireless/ath/ath12k/Makefile @@ -25,6 +25,7 @@ ath12k-y += core.o \ ath12k-$(CONFIG_ATH12K_AHB) += ahb.o pcic.o obj-$(CONFIG_ATH12K) += wifi7/ +obj-$(CONFIG_ATH12K) += wifi8/ ath12k-$(CONFIG_ATH12K_DEBUGFS) += debugfs.o debugfs_htt_stats.o debugfs_sta.o ath12k-$(CONFIG_ACPI) += acpi.o diff --git a/drivers/net/wireless/ath/ath12k/core.h b/drivers/net/wireless/ath/ath12k/core.h index a8e8a55aa718..2a4b5e5e1af3 100644 --- a/drivers/net/wireless/ath/ath12k/core.h +++ b/drivers/net/wireless/ath/ath12k/core.h @@ -956,6 +956,7 @@ struct ath12k_mem_profile_based_param { enum ath12k_device_family { ATH12K_DEVICE_FAMILY_START, ATH12K_DEVICE_FAMILY_WIFI7 = ATH12K_DEVICE_FAMILY_START, + ATH12K_DEVICE_FAMILY_WIFI8, ATH12K_DEVICE_FAMILY_MAX, }; diff --git a/drivers/net/wireless/ath/ath12k/wifi8/Makefile b/drivers/net/wireless/ath/ath12k/wifi8/Makefile new file mode 100644 index 000000000000..b8c5b6d3a7bd --- /dev/null +++ b/drivers/net/wireless/ath/ath12k/wifi8/Makefile @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: BSD-3-Clause-Clear +obj-$(CONFIG_ATH12K) += ath12k_wifi8.o +ath12k_wifi8-y += core.o \ + pci.o diff --git a/drivers/net/wireless/ath/ath12k/wifi8/core.c b/drivers/net/wireless/ath/ath12k/wifi8/core.c new file mode 100644 index 000000000000..9253ef9d9cf5 --- /dev/null +++ b/drivers/net/wireless/ath/ath12k/wifi8/core.c @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: BSD-3-Clause-Clear +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include +#include "../pci.h" +#include "pci.h" + +static int ath12k_wifi8_init(void) +{ + int ret; + + ret = ath12k_wifi8_pci_init(); + if (ret) + pr_warn("Failed to register ath12k Wi-Fi 8 PCI driver: %d\n", + ret); + + return ret; +} + +static void ath12k_wifi8_exit(void) +{ + ath12k_wifi8_pci_exit(); +} + +module_init(ath12k_wifi8_init); +module_exit(ath12k_wifi8_exit); + +MODULE_DESCRIPTION("Driver support for Qualcomm Technologies 802.11bn WLAN devices"); +MODULE_LICENSE("Dual BSD/GPL"); diff --git a/drivers/net/wireless/ath/ath12k/wifi8/pci.c b/drivers/net/wireless/ath/ath12k/wifi8/pci.c new file mode 100644 index 000000000000..3975081d167b --- /dev/null +++ b/drivers/net/wireless/ath/ath12k/wifi8/pci.c @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: BSD-3-Clause-Clear +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include + +#include "pci.h" + +int ath12k_wifi8_pci_init(void) +{ + /* Wi-Fi 8 PCI driver registration will be added in follow-up patches. */ + return 0; +} + +void ath12k_wifi8_pci_exit(void) +{ +} diff --git a/drivers/net/wireless/ath/ath12k/wifi8/pci.h b/drivers/net/wireless/ath/ath12k/wifi8/pci.h new file mode 100644 index 000000000000..efe02721e470 --- /dev/null +++ b/drivers/net/wireless/ath/ath12k/wifi8/pci.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: BSD-3-Clause-Clear */ +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ +#ifndef ATH12K_WIFI8_PCI_H +#define ATH12K_WIFI8_PCI_H + +int ath12k_wifi8_pci_init(void); +void ath12k_wifi8_pci_exit(void); + +#endif /* ATH12K_WIFI8_PCI_H */ -- 2.34.1