ath6kl: Move scan table from wmi to ath6kl

It does not need to be in wmi

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
diff --git a/drivers/net/wireless/ath/ath6kl/core.h b/drivers/net/wireless/ath/ath6kl/core.h
index 6778475..f3f588a 100644
--- a/drivers/net/wireless/ath/ath6kl/core.h
+++ b/drivers/net/wireless/ath/ath6kl/core.h
@@ -455,6 +455,8 @@
 	size_t fw_patch_len;
 
 	struct workqueue_struct *ath6kl_wq;
+
+	struct ath6kl_node_table scan_table;
 };
 
 static inline void *ath6kl_priv(struct net_device *dev)
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.c b/drivers/net/wireless/ath/ath6kl/wmi.c
index 9b06a82..2e1b411 100644
--- a/drivers/net/wireless/ath/ath6kl/wmi.c
+++ b/drivers/net/wireless/ath/ath6kl/wmi.c
@@ -390,7 +390,7 @@
 			      void (*f) (void *arg, struct bss *),
 			      void *arg)
 {
-	wlan_iterate_nodes(&wmi->scan_table, f, arg);
+	wlan_iterate_nodes(&wmi->parent_dev->scan_table, f, arg);
 }
 
 static void ath6kl_wmi_convert_bssinfo_hdr2_to_hdr(struct sk_buff *skb,
@@ -728,7 +728,7 @@
 		return -EINVAL;
 
 	bih = (struct wmi_bss_info_hdr *) datap;
-	bss = wlan_find_node(&wmi->scan_table, bih->bssid);
+	bss = wlan_find_node(&wmi->parent_dev->scan_table, bih->bssid);
 
 	if (a_sle16_to_cpu(bih->rssi) > 0) {
 		if (bss == NULL)
@@ -777,7 +777,7 @@
 			bih->snr = bss->ni_snr;
 		}
 
-		wlan_node_reclaim(&wmi->scan_table, bss);
+		wlan_node_reclaim(&wmi->parent_dev->scan_table, bss);
 	}
 
 	/*
@@ -862,7 +862,7 @@
 	 * which is done in ath6kl_wlan_parse_beacon
 	 */
 	bss->ni_cie.ie_chan = le16_to_cpu(bih->ch);
-	wlan_setup_node(&wmi->scan_table, bss, bih->bssid);
+	wlan_setup_node(&wmi->parent_dev->scan_table, bss, bih->bssid);
 
 	return 0;
 }
@@ -883,10 +883,10 @@
 	ath6kl_dbg(ATH6KL_DBG_WMI, "opt frame event %2.2x:%2.2x\n",
 		   bih->bssid[4], bih->bssid[5]);
 
-	bss = wlan_find_node(&wmi->scan_table, bih->bssid);
+	bss = wlan_find_node(&wmi->parent_dev->scan_table, bih->bssid);
 	if (bss != NULL) {
 		/* Free up the node. We are about to allocate a new node. */
-		wlan_node_reclaim(&wmi->scan_table, bss);
+		wlan_node_reclaim(&wmi->parent_dev->scan_table, bss);
 	}
 
 	bss = wlan_node_alloc(len);
@@ -900,7 +900,7 @@
 		return -EINVAL;
 
 	memcpy(bss->ni_buf, buf, len);
-	wlan_setup_node(&wmi->scan_table, bss, bih->bssid);
+	wlan_setup_node(&wmi->parent_dev->scan_table, bss, bih->bssid);
 
 	return 0;
 }
@@ -1009,7 +1009,7 @@
 	ev = (struct wmi_scan_complete_event *) datap;
 
 	if (a_sle32_to_cpu(ev->status) == 0)
-		wlan_refresh_inactive_nodes(&wmi->scan_table);
+		wlan_refresh_inactive_nodes(&wmi->parent_dev->scan_table);
 
 	ath6kl_scan_complete_evt(wmi->parent_dev, a_sle32_to_cpu(ev->status));
 	wmi->is_probe_ssid = false;
@@ -2343,7 +2343,7 @@
 void ath6kl_wmi_node_return(struct wmi *wmi, struct bss *bss)
 {
 	if (bss)
-		wlan_node_return(&wmi->scan_table, bss);
+		wlan_node_return(&wmi->parent_dev->scan_table, bss);
 }
 
 struct bss *ath6kl_wmi_find_ssid_node(struct wmi *wmi, u8 * ssid,
@@ -2352,7 +2352,7 @@
 {
 	struct bss *node = NULL;
 
-	node = wlan_find_ssid_node(&wmi->scan_table, ssid,
+	node = wlan_find_ssid_node(&wmi->parent_dev->scan_table, ssid,
 				  ssid_len, is_wpa2, match_ssid);
 	return node;
 }
@@ -2361,7 +2361,7 @@
 {
 	struct bss *ni = NULL;
 
-	ni = wlan_find_node(&wmi->scan_table, mac_addr);
+	ni = wlan_find_node(&wmi->parent_dev->scan_table, mac_addr);
 
 	return ni;
 }
@@ -2370,9 +2370,9 @@
 {
 	struct bss *ni = NULL;
 
-	ni = wlan_find_node(&wmi->scan_table, mac_addr);
+	ni = wlan_find_node(&wmi->parent_dev->scan_table, mac_addr);
 	if (ni != NULL)
-		wlan_node_reclaim(&wmi->scan_table, ni);
+		wlan_node_reclaim(&wmi->parent_dev->scan_table, ni);
 
 	return;
 }
@@ -2736,7 +2736,7 @@
 
 	wmi->parent_dev = dev;
 
-	wlan_node_table_init(wmi, &wmi->scan_table);
+	wlan_node_table_init(wmi, &dev->scan_table);
 	ath6kl_wmi_qos_state_init(wmi);
 
 	wmi->pwr_mode = REC_POWER;
@@ -2756,6 +2756,6 @@
 	if (!wmi)
 		return;
 
-	wlan_node_table_cleanup(&wmi->scan_table);
+	wlan_node_table_cleanup(&wmi->parent_dev->scan_table);
 	kfree(wmi);
 }
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.h b/drivers/net/wireless/ath/ath6kl/wmi.h
index afc9be9..1ef779d 100644
--- a/drivers/net/wireless/ath/ath6kl/wmi.h
+++ b/drivers/net/wireless/ath/ath6kl/wmi.h
@@ -116,7 +116,6 @@
 	u8 fat_pipe_exist;
 	struct ath6kl *parent_dev;
 	struct wmi_stats stat;
-	struct ath6kl_node_table scan_table;
 	u8 bssid[ETH_ALEN];
 	u8 pwr_mode;
 	u8 phy_mode;