Message ID | 20240621075208.513497-43-yu-hao.lin@nxp.com |
---|---|
State | New |
Headers | show |
Series | wifi: nxpwifi: create nxpwifi to support iw61x | expand |
Hi David, kernel test robot noticed the following build warnings: [auto build test WARNING on 238d636723a30311e20fde0a361662e829fe488b] url: https://github.com/intel-lab-lkp/linux/commits/David-Lin/wifi-nxpwifi-add-11ac-c/20240625-161306 base: 238d636723a30311e20fde0a361662e829fe488b patch link: https://lore.kernel.org/r/20240621075208.513497-43-yu-hao.lin%40nxp.com patch subject: [PATCH 42/43] wifi: nxpwifi: add Makefile and Kconfig files for nxpwifi compilation config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20240626/202406260848.0pH4xjvI-lkp@intel.com/config) compiler: m68k-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240626/202406260848.0pH4xjvI-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202406260848.0pH4xjvI-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/net/wireless/nxp/nxpwifi/11n_rxreorder.c: In function 'nxpwifi_11n_dispatch_amsdu_pkt': >> drivers/net/wireless/nxp/nxpwifi/11n_rxreorder.c:40:47: warning: variable 'rx_hdr' set but not used [-Wunused-but-set-variable] 40 | struct rx_packet_hdr *rx_hdr; | ^~~~~~ -- drivers/net/wireless/nxp/nxpwifi/sta_event.c: In function 'nxpwifi_sta_event_link_lost': >> drivers/net/wireless/nxp/nxpwifi/sta_event.c:21:13: warning: variable 'reason_code' set but not used [-Wunused-but-set-variable] 21 | u16 reason_code; | ^~~~~~~~~~~ -- drivers/net/wireless/nxp/nxpwifi/sta_rx.c: In function 'nxpwifi_process_rx_packet': >> drivers/net/wireless/nxp/nxpwifi/sta_rx.c:78:25: warning: variable 'rx_pkt_len' set but not used [-Wunused-but-set-variable] 78 | u16 rx_pkt_off, rx_pkt_len; | ^~~~~~~~~~ vim +/rx_hdr +40 drivers/net/wireless/nxp/nxpwifi/11n_rxreorder.c 148be2798f7a0c David Lin 2024-06-21 17 148be2798f7a0c David Lin 2024-06-21 18 /* This function will dispatch amsdu packet and forward it to kernel/upper 148be2798f7a0c David Lin 2024-06-21 19 * layer. 148be2798f7a0c David Lin 2024-06-21 20 */ 148be2798f7a0c David Lin 2024-06-21 21 static int nxpwifi_11n_dispatch_amsdu_pkt(struct nxpwifi_private *priv, 148be2798f7a0c David Lin 2024-06-21 22 struct sk_buff *skb) 148be2798f7a0c David Lin 2024-06-21 23 { 148be2798f7a0c David Lin 2024-06-21 24 struct rxpd *local_rx_pd = (struct rxpd *)(skb->data); 148be2798f7a0c David Lin 2024-06-21 25 int ret; 148be2798f7a0c David Lin 2024-06-21 26 148be2798f7a0c David Lin 2024-06-21 27 if (le16_to_cpu(local_rx_pd->rx_pkt_type) == PKT_TYPE_AMSDU) { 148be2798f7a0c David Lin 2024-06-21 28 struct sk_buff_head list; 148be2798f7a0c David Lin 2024-06-21 29 struct sk_buff *rx_skb; 148be2798f7a0c David Lin 2024-06-21 30 148be2798f7a0c David Lin 2024-06-21 31 __skb_queue_head_init(&list); 148be2798f7a0c David Lin 2024-06-21 32 148be2798f7a0c David Lin 2024-06-21 33 skb_pull(skb, le16_to_cpu(local_rx_pd->rx_pkt_offset)); 148be2798f7a0c David Lin 2024-06-21 34 skb_trim(skb, le16_to_cpu(local_rx_pd->rx_pkt_length)); 148be2798f7a0c David Lin 2024-06-21 35 148be2798f7a0c David Lin 2024-06-21 36 ieee80211_amsdu_to_8023s(skb, &list, priv->curr_addr, 148be2798f7a0c David Lin 2024-06-21 37 priv->wdev.iftype, 0, NULL, NULL, false); 148be2798f7a0c David Lin 2024-06-21 38 148be2798f7a0c David Lin 2024-06-21 39 while (!skb_queue_empty(&list)) { 148be2798f7a0c David Lin 2024-06-21 @40 struct rx_packet_hdr *rx_hdr; 148be2798f7a0c David Lin 2024-06-21 41 148be2798f7a0c David Lin 2024-06-21 42 rx_skb = __skb_dequeue(&list); 148be2798f7a0c David Lin 2024-06-21 43 rx_hdr = (struct rx_packet_hdr *)rx_skb->data; 148be2798f7a0c David Lin 2024-06-21 44 148be2798f7a0c David Lin 2024-06-21 45 if (priv->bss_role == NXPWIFI_BSS_ROLE_UAP) 148be2798f7a0c David Lin 2024-06-21 46 ret = nxpwifi_uap_recv_packet(priv, rx_skb); 148be2798f7a0c David Lin 2024-06-21 47 else 148be2798f7a0c David Lin 2024-06-21 48 ret = nxpwifi_recv_packet(priv, rx_skb); 148be2798f7a0c David Lin 2024-06-21 49 if (ret == -1) 148be2798f7a0c David Lin 2024-06-21 50 nxpwifi_dbg(priv->adapter, ERROR, 148be2798f7a0c David Lin 2024-06-21 51 "Rx of A-MSDU failed"); 148be2798f7a0c David Lin 2024-06-21 52 } 148be2798f7a0c David Lin 2024-06-21 53 return 0; 148be2798f7a0c David Lin 2024-06-21 54 } 148be2798f7a0c David Lin 2024-06-21 55 148be2798f7a0c David Lin 2024-06-21 56 return -1; 148be2798f7a0c David Lin 2024-06-21 57 } 148be2798f7a0c David Lin 2024-06-21 58
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig index c6599594dc99..4d7b81182925 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig @@ -27,6 +27,7 @@ source "drivers/net/wireless/intersil/Kconfig" source "drivers/net/wireless/marvell/Kconfig" source "drivers/net/wireless/mediatek/Kconfig" source "drivers/net/wireless/microchip/Kconfig" +source "drivers/net/wireless/nxp/Kconfig" source "drivers/net/wireless/purelifi/Kconfig" source "drivers/net/wireless/ralink/Kconfig" source "drivers/net/wireless/realtek/Kconfig" diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile index e1c4141c6004..0c6b3cc719db 100644 --- a/drivers/net/wireless/Makefile +++ b/drivers/net/wireless/Makefile @@ -12,6 +12,7 @@ obj-$(CONFIG_WLAN_VENDOR_INTERSIL) += intersil/ obj-$(CONFIG_WLAN_VENDOR_MARVELL) += marvell/ obj-$(CONFIG_WLAN_VENDOR_MEDIATEK) += mediatek/ obj-$(CONFIG_WLAN_VENDOR_MICROCHIP) += microchip/ +obj-$(CONFIG_WLAN_VENDOR_NXP) += nxp/ obj-$(CONFIG_WLAN_VENDOR_PURELIFI) += purelifi/ obj-$(CONFIG_WLAN_VENDOR_QUANTENNA) += quantenna/ obj-$(CONFIG_WLAN_VENDOR_RALINK) += ralink/ diff --git a/drivers/net/wireless/nxp/Kconfig b/drivers/net/wireless/nxp/Kconfig new file mode 100644 index 000000000000..68b32d4536e5 --- /dev/null +++ b/drivers/net/wireless/nxp/Kconfig @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: GPL-2.0-only +config WLAN_VENDOR_NXP + bool "NXP devices" + default y + help + If you have a wireless card belonging to this class, say Y. + + Note that the answer to this question doesn't directly affect the + kernel: saying N will just cause the configurator to skip all the + questions about these cards. If you say Y, you will be asked for + your specific card in the following questions. + +if WLAN_VENDOR_NXP + +source "drivers/net/wireless/nxp/nxpwifi/Kconfig" + +endif # WLAN_VENDOR_NXP diff --git a/drivers/net/wireless/nxp/Makefile b/drivers/net/wireless/nxp/Makefile new file mode 100644 index 000000000000..27b41a0afdd2 --- /dev/null +++ b/drivers/net/wireless/nxp/Makefile @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0-only + +obj-$(CONFIG_NXPWIFI) += nxpwifi/ diff --git a/drivers/net/wireless/nxp/nxpwifi/Kconfig b/drivers/net/wireless/nxp/nxpwifi/Kconfig new file mode 100644 index 000000000000..3637068574b8 --- /dev/null +++ b/drivers/net/wireless/nxp/nxpwifi/Kconfig @@ -0,0 +1,22 @@ +# SPDX-License-Identifier: GPL-2.0-only +config NXPWIFI + tristate "NXP WiFi Driver" + depends on CFG80211 + help + This adds support for wireless adapters based on NXP + 802.11n/ac chipsets. + + If you choose to build it as a module, it will be called + nxpwifi. + +config NXPWIFI_SDIO + tristate "NXP WiFi Driver for IW61x" + depends on NXPWIFI && MMC + select FW_LOADER + select WANT_DEV_COREDUMP + help + This adds support for wireless adapters based on NXP + IW61x interface. + + If you choose to build it as a module, it will be called + nxpwifi_sdio. diff --git a/drivers/net/wireless/nxp/nxpwifi/Makefile b/drivers/net/wireless/nxp/nxpwifi/Makefile new file mode 100644 index 000000000000..a9e5a528324b --- /dev/null +++ b/drivers/net/wireless/nxp/nxpwifi/Makefile @@ -0,0 +1,38 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright 2011-2020 NXP +# + + +nxpwifi-y += main.o +nxpwifi-y += init.o +nxpwifi-y += cfp.o +nxpwifi-y += cmdevt.o +nxpwifi-y += util.o +nxpwifi-y += txrx.o +nxpwifi-y += wmm.o +nxpwifi-y += 11n.o +nxpwifi-y += 11ac.o +nxpwifi-y += 11n_aggr.o +nxpwifi-y += 11n_rxreorder.o +nxpwifi-y += scan.o +nxpwifi-y += join.o +nxpwifi-y += sta_ioctl.o +nxpwifi-y += sta_cmd.o +nxpwifi-y += uap_cmd.o +nxpwifi-y += ie.o +nxpwifi-y += sta_event.o +nxpwifi-y += uap_event.o +nxpwifi-y += sta_tx.o +nxpwifi-y += sta_rx.o +nxpwifi-y += uap_txrx.o +nxpwifi-y += cfg80211.o +nxpwifi-y += ethtool.o +nxpwifi-y += 11h.o +nxpwifi-$(CONFIG_DEBUG_FS) += debugfs.o +obj-$(CONFIG_NXPWIFI) += nxpwifi.o + +nxpwifi_sdio-y += sdio.o +obj-$(CONFIG_NXPWIFI_SDIO) += nxpwifi_sdio.o + +ccflags-y += -D__CHECK_ENDIAN
Signed-off-by: David Lin <yu-hao.lin@nxp.com> --- drivers/net/wireless/Kconfig | 1 + drivers/net/wireless/Makefile | 1 + drivers/net/wireless/nxp/Kconfig | 17 ++++++++++ drivers/net/wireless/nxp/Makefile | 3 ++ drivers/net/wireless/nxp/nxpwifi/Kconfig | 22 +++++++++++++ drivers/net/wireless/nxp/nxpwifi/Makefile | 38 +++++++++++++++++++++++ 6 files changed, 82 insertions(+) create mode 100644 drivers/net/wireless/nxp/Kconfig create mode 100644 drivers/net/wireless/nxp/Makefile create mode 100644 drivers/net/wireless/nxp/nxpwifi/Kconfig create mode 100644 drivers/net/wireless/nxp/nxpwifi/Makefile