Bladeren bron

qcacld-3.0: Featurize WLAN_NS_OFFLOAD

Fix compilation errors when disable WLAN_NS_OFFLOAD

Change-Id: Ifba894a4880a226cedf4c88b1121d02c63aceb4b
CRs-Fixed: 2271272
Qiwei Cai 6 jaren geleden
bovenliggende
commit
1083f5b0ac

+ 8 - 3
Kbuild

@@ -661,7 +661,6 @@ ifeq ($(CONFIG_POWER_MANAGEMENT_OFFLOAD), y)
 PMO_OBJS :=     $(PMO_DIR)/core/src/wlan_pmo_main.o \
 		$(PMO_DIR)/core/src/wlan_pmo_apf.o \
 		$(PMO_DIR)/core/src/wlan_pmo_arp.o \
-		$(PMO_DIR)/core/src/wlan_pmo_ns.o \
 		$(PMO_DIR)/core/src/wlan_pmo_gtk.o \
 		$(PMO_DIR)/core/src/wlan_pmo_mc_addr_filtering.o \
 		$(PMO_DIR)/core/src/wlan_pmo_static_config.o \
@@ -673,7 +672,6 @@ PMO_OBJS :=     $(PMO_DIR)/core/src/wlan_pmo_main.o \
 		$(PMO_DIR)/dispatcher/src/wlan_pmo_obj_mgmt_api.o \
 		$(PMO_DIR)/dispatcher/src/wlan_pmo_ucfg_api.o \
 		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_arp.o \
-		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_ns.o \
 		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_gtk.o \
 		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_wow.o \
 		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_static_config.o \
@@ -684,6 +682,11 @@ PMO_OBJS :=     $(PMO_DIR)/core/src/wlan_pmo_main.o \
 		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_pkt_filter.o
 endif
 
+ifeq ($(CONFIG_WLAN_NS_OFFLOAD), y)
+PMO_OBJS +=     $(PMO_DIR)/core/src/wlan_pmo_ns.o \
+		$(PMO_DIR)/dispatcher/src/wlan_pmo_tgt_ns.o
+endif
+
 ########## DISA (ENCRYPTION TEST) ##########
 
 DISA_DIR :=	components/disa
@@ -736,11 +739,13 @@ CLD_TARGET_IF_OBJ := $(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_arp.o \
 		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_lphb.o \
 		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_main.o \
 		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_mc_addr_filtering.o \
-		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_ns.o \
 		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_pkt_filter.o \
 		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_static_config.o \
 		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_suspend_resume.o \
 		$(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_wow.o
+ifeq ($(CONFIG_WLAN_NS_OFFLOAD), y)
+CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/pmo/src/target_if_pmo_ns.o
+endif
 endif
 
 ifeq ($(CONFIG_WLAN_FEATURE_DSRC), y)

+ 3 - 1
components/pmo/dispatcher/inc/wlan_pmo_tgt_api.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -92,6 +92,7 @@ QDF_STATUS pmo_tgt_enable_arp_offload_req(struct wlan_objmgr_vdev *vdev,
 QDF_STATUS pmo_tgt_disable_arp_offload_req(struct wlan_objmgr_vdev *vdev,
 		uint8_t vdev_id);
 
+#ifdef WLAN_NS_OFFLOAD
 /**
  * pmo_tgt_enable_ns_offload_req() -  Send ns offload req to targe
  * @vdev: objmgr vdev
@@ -111,6 +112,7 @@ QDF_STATUS pmo_tgt_enable_ns_offload_req(struct wlan_objmgr_vdev *vdev,
  */
 QDF_STATUS pmo_tgt_disable_ns_offload_req(struct wlan_objmgr_vdev *vdev,
 		uint8_t vdev_id);
+#endif /* WLAN_NS_OFFLOAD */
 
 /**
  * pmo_tgt_enable_wow_wakeup_event() - Send Enable wow wakeup events req to fwr

+ 2 - 0
components/pmo/dispatcher/src/wlan_pmo_ucfg_api.c

@@ -137,6 +137,7 @@ QDF_STATUS pmo_ucfg_disable_arp_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
 	return pmo_core_disable_arp_offload_in_fwr(vdev, trigger);
 }
 
+#ifdef WLAN_NS_OFFLOAD
 QDF_STATUS pmo_ucfg_cache_ns_offload_req(struct pmo_ns_req *ns_req)
 {
 	return pmo_core_cache_ns_offload_req(ns_req);
@@ -158,6 +159,7 @@ QDF_STATUS pmo_ucfg_disable_ns_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
 {
 	return pmo_core_disable_ns_offload_in_fwr(vdev, trigger);
 }
+#endif /* WLAN_NS_OFFLOAD */
 
 QDF_STATUS pmo_ucfg_cache_mc_addr_list(
 		struct pmo_mc_addr_list_params *mc_list_config)

+ 11 - 2
components/target_if/pmo/inc/target_if_pmo.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -211,6 +211,7 @@ QDF_STATUS target_if_pmo_send_arp_offload_req(
 		struct pmo_arp_offload_params *arp_offload_req,
 		struct pmo_ns_offload_params *ns_offload_req);
 
+#ifdef WLAN_NS_OFFLOAD
 /**
  * target_if_pmo_send_ns_offload_req() - sends ns request to fwr
  * @vdev: objmgr vdev
@@ -225,7 +226,15 @@ QDF_STATUS target_if_pmo_send_ns_offload_req(
 		struct wlan_objmgr_vdev *vdev,
 		struct pmo_arp_offload_params *arp_offload_req,
 		struct pmo_ns_offload_params *ns_offload_req);
-
+#else /* WLAN_NS_OFFLOAD */
+static inline QDF_STATUS
+target_if_pmo_send_ns_offload_req(struct wlan_objmgr_vdev *vdev,
+		struct pmo_arp_offload_params *arp_offload_req,
+		struct pmo_ns_offload_params *ns_offload_req)
+{
+	return QDF_STATUS_SUCCESS;
+}
+#endif /* WLAN_NS_OFFLOAD */
 /**
  * target_if_pmo_send_gtk_offload_req() - send gtk offload request in fwr
  * @vdev: objmgr vdev handle

+ 15 - 1
core/hdd/inc/wlan_hdd_power.h

@@ -297,6 +297,7 @@ int wlan_hdd_cfg80211_resume_wlan(struct wiphy *wiphy);
  */
 void hdd_ipv4_notifier_work_queue(struct work_struct *work);
 
+#ifdef WLAN_NS_OFFLOAD
 /**
  * hdd_enable_ns_offload() - enable NS offload
  * @adapter:   pointer to the adapter
@@ -313,7 +314,20 @@ void hdd_enable_ns_offload(struct hdd_adapter *adapter,
  * Return: nothing
  */
 void hdd_disable_ns_offload(struct hdd_adapter *adapter,
-			    enum pmo_offload_trigger trigger);
+	enum pmo_offload_trigger trigger);
+#else /* WLAN_NS_OFFLOAD */
+static inline
+void hdd_enable_ns_offload(struct hdd_adapter *adapter,
+			   enum pmo_offload_trigger trigger)
+{
+}
+
+static inline
+void hdd_disable_ns_offload(struct hdd_adapter *adapter,
+			    enum pmo_offload_trigger trigger)
+{
+}
+#endif /* WLAN_NS_OFFLOAD */
 
 /**
  * hdd_ipv6_notifier_work_queue() - IP V6 change notifier work handler

+ 4 - 0
core/hdd/src/wlan_hdd_cfg80211.c

@@ -8467,6 +8467,7 @@ fail:
 	kfree_skb(skb);
 }
 
+#ifdef WLAN_NS_OFFLOAD
 static const struct nla_policy
 ns_offload_set_policy[QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_MAX + 1] = {
 	[QCA_WLAN_VENDOR_ATTR_ND_OFFLOAD_FLAG] = {.type = NLA_U8},
@@ -8557,6 +8558,7 @@ static int wlan_hdd_cfg80211_set_ns_offload(struct wiphy *wiphy,
 
 	return ret;
 }
+#endif /* WLAN_NS_OFFLOAD */
 
 static const struct nla_policy get_preferred_freq_list_policy
 		[QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_MAX + 1] = {
@@ -14384,6 +14386,7 @@ const struct wiphy_vendor_command hdd_wiphy_vendor_commands[] = {
 			WIPHY_VENDOR_CMD_NEED_RUNNING,
 		.doit = wlan_hdd_cfg80211_monitor_rssi
 	},
+#ifdef WLAN_NS_OFFLOAD
 	{
 		.info.vendor_id = QCA_NL80211_VENDOR_ID,
 		.info.subcmd = QCA_NL80211_VENDOR_SUBCMD_ND_OFFLOAD,
@@ -14392,6 +14395,7 @@ const struct wiphy_vendor_command hdd_wiphy_vendor_commands[] = {
 			 WIPHY_VENDOR_CMD_NEED_RUNNING,
 		.doit = wlan_hdd_cfg80211_set_ns_offload
 	},
+#endif /* WLAN_NS_OFFLOAD */
 	{
 		.info.vendor_id = QCA_NL80211_VENDOR_ID,
 		.info.subcmd = QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET,

+ 2 - 1
core/hdd/src/wlan_hdd_power.c

@@ -167,7 +167,7 @@ static void hdd_disable_gtk_offload(struct hdd_adapter *adapter)
 
 }
 
-
+#ifdef WLAN_NS_OFFLOAD
 /**
  * __wlan_hdd_ipv6_changed() - IPv6 notifier callback function
  * @nb: notifier block that was registered with the kernel
@@ -470,6 +470,7 @@ void hdd_ipv6_notifier_work_queue(struct work_struct *work)
 	__hdd_ipv6_notifier_work_queue(work);
 	cds_ssr_unprotect(__func__);
 }
+#endif /* WLAN_NS_OFFLOAD */
 
 static void hdd_enable_hw_filter(struct hdd_adapter *adapter)
 {

+ 0 - 2
core/mac/inc/sir_mac_prot_def.h

@@ -511,7 +511,6 @@
 #define SIR_MAC_OUI_WSM_SCHEDULE_MIN        20
 #define SIR_MAC_OUI_WSM_SCHEDULE_MAX        20
 
-#ifdef WLAN_NS_OFFLOAD
 #define SIR_MAC_NS_OFFLOAD_SIZE             1   /* support only one IPv6 offload */
 /* Number of target IP V6 addresses for NS offload */
 #define SIR_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA   16
@@ -519,7 +518,6 @@
 #define SIR_IPV6_ADDR_VALID                 1
 #define SIR_IPV6_ADDR_UC_TYPE               0
 #define SIR_IPV6_ADDR_AC_TYPE               1
-#endif /* WLAN_NS_OFFLOAD */
 
 /* ----------------------------------------------------------------------------- */