qcacld-3.0: Featurize packet log

Featurize packet log.

Change-Id: Id747d142d72d02759b20bcf3091fd769261b8f67
CRs-Fixed: 2245422
diff --git a/Kbuild b/Kbuild
index 9b4de21..2041b77 100644
--- a/Kbuild
+++ b/Kbuild
@@ -866,12 +866,15 @@
                 $(TXRX_DIR)/ol_rx_pn.o \
                 $(TXRX_DIR)/ol_tx_queue.o \
                 $(TXRX_DIR)/ol_txrx_peer_find.o \
-                $(TXRX_DIR)/ol_txrx_event.o \
                 $(TXRX_DIR)/ol_txrx_encap.o \
                 $(TXRX_DIR)/ol_tx_send.o \
                 $(TXRX_DIR)/ol_tx_sched.o \
                 $(TXRX_DIR)/ol_tx_classify.o
 
+ifeq ($(CONFIG_WDI_EVENT_ENABLE), y)
+TXRX_OBJS +=     $(TXRX_DIR)/ol_txrx_event.o
+endif
+
 ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
 TXRX_OBJS +=     $(TXRX_DIR)/ol_txrx_flow_control.o
 endif
diff --git a/configs/default_defconfig b/configs/default_defconfig
index 3b23a00..d23ccb5 100644
--- a/configs/default_defconfig
+++ b/configs/default_defconfig
@@ -390,7 +390,11 @@
 CONFIG_ATH_SUPPORT_SPECTRAL := n
 
 #Enable WDI Event support
+ifeq ($(CONFIG_REMOVE_PKT_LOG), y)
+CONFIG_WDI_EVENT_ENABLE := n
+else
 CONFIG_WDI_EVENT_ENABLE := y
+endif
 
 #Endianness selection
 CONFIG_LITTLE_ENDIAN := y
diff --git a/configs/genoa.snoc.debug_defconfig b/configs/genoa.snoc.debug_defconfig
index 4d06e87..a3befdc 100644
--- a/configs/genoa.snoc.debug_defconfig
+++ b/configs/genoa.snoc.debug_defconfig
@@ -87,7 +87,6 @@
 CONFIG_FEATURE_EPPING := y
 CONFIG_WLAN_NAPI_DEBUG := n
 CONFIG_REMOVE_PKT_LOG := n
-CONFIG_WDI_EVENT_ENABLE := y
 CONFIG_FEATURE_STATS_EXT := y
 CONFIG_FEATURE_HTC_CREDIT_HISTORY := y
 CONFIG_TRACE_RECORD_FEATURE := y
@@ -105,6 +104,12 @@
 CONFIG_WLAN_LOG_INFO := y
 CONFIG_WLAN_LOG_DEBUG := y
 
+ifeq ($(CONFIG_REMOVE_PKT_LOG), y)
+CONFIG_WDI_EVENT_ENABLE := n
+else
+CONFIG_WDI_EVENT_ENABLE := y
+endif
+
 # Features gets enabled on slub debug
 CONFIG_WLAN_OBJMGR_DEBUG:= y
 CONFIG_OL_RX_INDICATION_RECORD := y
diff --git a/core/cds/inc/cds_api.h b/core/cds/inc/cds_api.h
index 8f1ebe4..0f302c9 100644
--- a/core/cds/inc/cds_api.h
+++ b/core/cds/inc/cds_api.h
@@ -439,7 +439,15 @@
 void cds_flush_work(void *work);
 void cds_flush_delayed_work(void *dwork);
 
+#ifdef REMOVE_PKT_LOG
+static inline
+bool cds_is_packet_log_enabled(void)
+{
+	return false;
+}
+#else
 bool cds_is_packet_log_enabled(void);
+#endif
 
 uint64_t cds_get_monotonic_boottime(void);
 
diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c
index c349655..8a200fa 100644
--- a/core/cds/src/cds_api.c
+++ b/core/cds/src/cds_api.c
@@ -1668,6 +1668,7 @@
 	cancel_delayed_work_sync(dwork);
 }
 
+#ifndef REMOVE_PKT_LOG
 /**
  * cds_is_packet_log_enabled() - check if packet log is enabled
  *
@@ -1684,6 +1685,7 @@
 	}
 	return hdd_ctx->config->enablePacketLog;
 }
+#endif
 
 static int cds_force_assert_target_via_pld(qdf_device_t qdf)
 {
diff --git a/core/dp/htt/htt_rx.c b/core/dp/htt/htt_rx.c
index 28b5793..f67482c 100644
--- a/core/dp/htt/htt_rx.c
+++ b/core/dp/htt/htt_rx.c
@@ -1770,7 +1770,7 @@
 		/* calling callback function for packet logging */
 		if (pdev->rx_pkt_dump_cb) {
 			if (qdf_unlikely(RX_DESC_MIC_ERR_IS_SET &&
-						!RX_DESC_DISCARD_IS_SET))
+					 !RX_DESC_DISCARD_IS_SET))
 				status = RX_PKT_FATE_FW_DROP_INVALID;
 			pdev->rx_pkt_dump_cb(msdu, peer_id, status);
 		}
@@ -2904,6 +2904,7 @@
 }
 #endif /* IPA_OFFLOAD */
 
+#ifndef REMOVE_PKT_LOG
 /**
  * htt_register_rx_pkt_dump_callback() - registers callback to
  *   get rx pkt status and call callback to do rx packet dump
@@ -2954,4 +2955,4 @@
 	}
 	pdev->rx_pkt_dump_cb = NULL;
 }
-
+#endif
diff --git a/core/dp/ol/inc/ol_htt_api.h b/core/dp/ol/inc/ol_htt_api.h
index cb51c8f..79c720f 100644
--- a/core/dp/ol/inc/ol_htt_api.h
+++ b/core/dp/ol/inc/ol_htt_api.h
@@ -388,11 +388,30 @@
 #endif
 
 void htt_mark_first_wakeup_packet(htt_pdev_handle pdev, uint8_t value);
+
 typedef void (*tp_rx_pkt_dump_cb)(qdf_nbuf_t msdu, uint8_t peer_id,
 			uint8_t status);
+#ifdef REMOVE_PKT_LOG
+static inline
 void htt_register_rx_pkt_dump_callback(struct htt_pdev_t *pdev,
-		tp_rx_pkt_dump_cb ol_rx_pkt_dump_call);
+				       tp_rx_pkt_dump_cb ol_rx_pkt_dump_call)
+{
+}
+
+static inline
+void htt_deregister_rx_pkt_dump_callback(struct htt_pdev_t *pdev)
+{
+}
+
+static inline
+void ol_rx_pkt_dump_call(qdf_nbuf_t msdu, uint8_t peer_id, uint8_t status)
+{
+}
+#else
+void htt_register_rx_pkt_dump_callback(struct htt_pdev_t *pdev,
+				       tp_rx_pkt_dump_cb ol_rx_pkt_dump_call);
 void htt_deregister_rx_pkt_dump_callback(struct htt_pdev_t *pdev);
 void ol_rx_pkt_dump_call(qdf_nbuf_t msdu, uint8_t peer_id, uint8_t status);
+#endif
 
 #endif /* _OL_HTT_API__H_ */
diff --git a/core/dp/txrx/ol_rx.c b/core/dp/txrx/ol_rx.c
index 6b1da8f..491efab 100644
--- a/core/dp/txrx/ol_rx.c
+++ b/core/dp/txrx/ol_rx.c
@@ -120,6 +120,7 @@
 void ol_rx_data_process(struct ol_txrx_peer_t *peer,
 			qdf_nbuf_t rx_buf_list);
 
+#ifdef WDI_EVENT_ENABLE
 /**
  * ol_rx_send_pktlog_event() - send rx packetlog event
  * @pdev: pdev handle
@@ -176,6 +177,7 @@
 			  &data);
 }
 #endif
+#endif /* WDI_EVENT_ENABLE */
 
 #ifdef HTT_RX_RESTORE
 
@@ -257,6 +259,7 @@
 
 }
 
+#ifdef WDI_EVENT_ENABLE
 static void ol_rx_process_inv_peer(ol_txrx_pdev_handle pdev,
 				   void *rx_mpdu_desc, qdf_nbuf_t msdu)
 {
@@ -293,11 +296,16 @@
 	msg.wh = wh;
 	msg.msdu = msdu;
 	msg.vdev_id = vdev->vdev_id;
-#ifdef WDI_EVENT_ENABLE
 	wdi_event_handler(WDI_EVENT_RX_PEER_INVALID, (struct cdp_pdev *)pdev,
 			  &msg);
-#endif
 }
+#else
+static inline
+void ol_rx_process_inv_peer(ol_txrx_pdev_handle pdev,
+			    void *rx_mpdu_desc, qdf_nbuf_t msdu)
+{
+}
+#endif
 
 #ifdef QCA_SUPPORT_PEER_DATA_RX_RSSI
 static inline int16_t
@@ -624,9 +632,8 @@
 				}
 
 				/* Pktlog */
-#ifdef WDI_EVENT_ENABLE
-		ol_rx_send_pktlog_event(pdev, peer, head_msdu, 1);
-#endif
+				ol_rx_send_pktlog_event(pdev, peer,
+							head_msdu, 1);
 
 				if (msdu_chaining) {
 					/*
@@ -702,19 +709,20 @@
 							  key_id);
 					}
 				}
-#ifdef WDI_EVENT_ENABLE
+
 				if (status != htt_rx_status_ctrl_mgmt_null) {
 					/* Pktlog */
 					ol_rx_send_pktlog_event(pdev,
 						 peer, msdu, 1);
 				}
-#endif
+
 				if (status == htt_rx_status_err_inv_peer) {
 					/* once per mpdu */
 					ol_rx_process_inv_peer(pdev,
 							       rx_mpdu_desc,
 							       msdu);
 				}
+
 				while (1) {
 					/* Free the nbuf */
 					qdf_nbuf_t next;
@@ -970,24 +978,6 @@
 	htt_rx_msdu_buff_replenish(htt_pdev);
 }
 
-#ifdef WDI_EVENT_ENABLE
-static inline
-void ol_rx_mic_error_send_pktlog_event(struct ol_txrx_pdev_t *pdev,
-	struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu, uint8_t pktlog_bit)
-{
-	ol_rx_send_pktlog_event(pdev, peer, msdu, pktlog_bit);
-}
-
-#else
-static inline
-void ol_rx_mic_error_send_pktlog_event(struct ol_txrx_pdev_t *pdev,
-	struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu, uint8_t pktlog_bit)
-{
-}
-
-#endif
-
-
 void
 ol_rx_mic_error_handler(
 	ol_txrx_pdev_handle pdev,
@@ -1023,7 +1013,7 @@
 			}
 		}
 		/* Pktlog */
-		ol_rx_mic_error_send_pktlog_event(pdev, peer, msdu, 1);
+		ol_rx_send_pktlog_event(pdev, peer, msdu, 1);
 	}
 }
 
@@ -1477,10 +1467,9 @@
 	uint8_t *rx_ind_data;
 	uint32_t *msg_word;
 	uint32_t msdu_count;
-#ifdef WDI_EVENT_ENABLE
 	uint8_t pktlog_bit;
-#endif
 	uint32_t filled = 0;
+
 	if (tid >= OL_TXRX_NUM_EXT_TIDS) {
 		ol_txrx_err("%s:  invalid tid, %u\n", __FUNCTION__, tid);
 		WARN_ON(1);
@@ -1504,10 +1493,7 @@
 		  __func__, __LINE__, rx_ind_msg, peer_id, tid, is_offload);
 #endif
 
-#ifdef WDI_EVENT_ENABLE
 	pktlog_bit = (htt_rx_amsdu_rx_in_order_get_pktlog(rx_ind_msg) == 0x01);
-#endif
-
 	rx_ind_data = qdf_nbuf_data(rx_ind_msg);
 	msg_word = (uint32_t *)rx_ind_data;
 	/* Get the total number of MSDUs */
@@ -1547,9 +1533,7 @@
 	qdf_nbuf_set_next(tail_msdu, NULL);
 
 	/* Pktlog */
-#ifdef WDI_EVENT_ENABLE
 	ol_rx_send_pktlog_event(pdev, peer, head_msdu, pktlog_bit);
-#endif
 
 	/*
 	 * if this is an offload indication, peer id is carried in the
@@ -1575,6 +1559,7 @@
 	peer->rx_opt_proc(vdev, peer, tid, head_msdu);
 }
 
+#ifndef REMOVE_PKT_LOG
 /**
  * ol_rx_pkt_dump_call() - updates status and
  * calls packetdump callback to log rx packet
@@ -1616,6 +1601,7 @@
 	if (packetdump_cb)
 		packetdump_cb(msdu, status, peer->vdev->vdev_id, RX_DATA_PKT);
 }
+#endif
 
 /* the msdu_list passed here must be NULL terminated */
 void
diff --git a/core/dp/txrx/ol_rx.h b/core/dp/txrx/ol_rx.h
index f038843..bcc6bab 100644
--- a/core/dp/txrx/ol_rx.h
+++ b/core/dp/txrx/ol_rx.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011, 2014-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
@@ -40,8 +40,18 @@
 void
 ol_rx_peer_cleanup(struct ol_txrx_vdev_t *vdev, struct ol_txrx_peer_t *peer);
 
+#ifdef WDI_EVENT_ENABLE
 void ol_rx_send_pktlog_event(struct ol_txrx_pdev_t *pdev,
-	struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu, uint8_t pktlog_bit);
+			     struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu,
+			     uint8_t pktlog_bit);
+#else
+static inline
+void ol_rx_send_pktlog_event(struct ol_txrx_pdev_t *pdev,
+			     struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu,
+			     uint8_t pktlog_bit)
+{
+}
+#endif
 
 
 void
diff --git a/core/dp/txrx/ol_rx_defrag.c b/core/dp/txrx/ol_rx_defrag.c
index ed63e2d..e93e9d5 100644
--- a/core/dp/txrx/ol_rx_defrag.c
+++ b/core/dp/txrx/ol_rx_defrag.c
@@ -289,23 +289,6 @@
 }
 #endif /* CONFIG_HL_SUPPORT */
 
-#ifdef WDI_EVENT_ENABLE
-static inline
-void ol_rx_frag_send_pktlog_event(struct ol_txrx_pdev_t *pdev,
-	struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu, uint8_t pktlog_bit)
-{
-	ol_rx_send_pktlog_event(pdev, peer, msdu, pktlog_bit);
-}
-
-#else
-static inline
-void ol_rx_frag_send_pktlog_event(struct ol_txrx_pdev_t *pdev,
-	struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu, uint8_t pktlog_bit)
-{
-}
-
-#endif
-
 /*
  * Process incoming fragments
  */
@@ -366,7 +349,7 @@
 		seq_num = htt_rx_mpdu_desc_seq_num(htt_pdev, rx_mpdu_desc);
 		OL_RX_ERR_STATISTICS_1(pdev, peer->vdev, peer, rx_mpdu_desc,
 				       OL_RX_ERR_NONE_FRAG);
-		ol_rx_frag_send_pktlog_event(pdev, peer, head_msdu, pktlog_bit);
+		ol_rx_send_pktlog_event(pdev, peer, head_msdu, pktlog_bit);
 		ol_rx_reorder_store_frag(pdev, peer, tid, seq_num, head_msdu);
 	} else {
 		/* invalid frame - discard it */
@@ -375,7 +358,7 @@
 		else
 			htt_rx_mpdu_desc_list_next(htt_pdev, rx_frag_ind_msg);
 
-		ol_rx_frag_send_pktlog_event(pdev, peer, head_msdu, pktlog_bit);
+		ol_rx_send_pktlog_event(pdev, peer, head_msdu, pktlog_bit);
 		htt_rx_desc_frame_free(htt_pdev, head_msdu);
 	}
 	/* request HTT to provide new rx MSDU buffers for the target to fill. */
diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c
index 3f644fb..bfca932 100644
--- a/core/dp/txrx/ol_txrx.c
+++ b/core/dp/txrx/ol_txrx.c
@@ -5872,6 +5872,11 @@
  *
  * Return: noe
  */
+#ifdef REMOVE_PKT_LOG
+static void ol_txrx_pkt_log_con_service(struct cdp_pdev *ppdev, void *scn)
+{
+}
+#else
 static void ol_txrx_pkt_log_con_service(struct cdp_pdev *ppdev, void *scn)
 {
 	struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev;
@@ -5879,6 +5884,7 @@
 	htt_pkt_log_init((struct cdp_pdev *)pdev, scn);
 	pktlog_htc_attach();
 }
+#endif
 
 /* OL wrapper functions for CDP abstraction */
 /**
diff --git a/core/dp/txrx/ol_txrx.h b/core/dp/txrx/ol_txrx.h
index 2f5c31e..0dba39a 100644
--- a/core/dp/txrx/ol_txrx.h
+++ b/core/dp/txrx/ol_txrx.h
@@ -86,6 +86,7 @@
 #ifdef WDI_EVENT_ENABLE
 void *ol_get_pldev(struct cdp_pdev *txrx_pdev);
 #else
+static inline
 void *ol_get_pldev(struct cdp_pdev *txrx_pdev)
 {
 	return NULL;
diff --git a/core/dp/txrx/ol_txrx_event.c b/core/dp/txrx/ol_txrx_event.c
index e870874..a144497 100644
--- a/core/dp/txrx/ol_txrx_event.c
+++ b/core/dp/txrx/ol_txrx_event.c
@@ -18,8 +18,6 @@
 
 #include "ol_txrx_types.h"
 
-#ifdef WDI_EVENT_ENABLE
-
 static inline wdi_event_subscribe *wdi_event_next_sub(wdi_event_subscribe *
 						      wdi_sub)
 {
@@ -233,5 +231,3 @@
 	txrx_pdev->wdi_event_list = NULL;
 	return A_OK;
 }
-
-#endif /* WDI_EVENT_ENABLE */
diff --git a/core/dp/txrx/wdi_event_api.h b/core/dp/txrx/wdi_event_api.h
index 2b0b934..85e26de 100644
--- a/core/dp/txrx/wdi_event_api.h
+++ b/core/dp/txrx/wdi_event_api.h
@@ -23,6 +23,7 @@
 #include <cdp_txrx_handle.h>
 struct ol_txrx_pdev_t;
 
+#ifdef WDI_EVENT_ENABLE
 /**
  * @brief Subscribe to a specified WDI event.
  * @details
@@ -59,7 +60,6 @@
 			 void *event_cb_sub,
 			 uint32_t event);
 
-#ifdef WDI_EVENT_ENABLE
 
 void wdi_event_handler(enum WDI_EVENT event,
 		       struct cdp_pdev *txrx_pdev, void *data);
@@ -72,14 +72,29 @@
 		       struct cdp_pdev *txrx_pdev, void *data)
 {
 }
+
 static inline A_STATUS wdi_event_attach(struct ol_txrx_pdev_t *txrx_pdev)
 {
 	return A_OK;
 }
+
 static inline A_STATUS wdi_event_detach(struct ol_txrx_pdev_t *txrx_pdev)
 {
 	return A_OK;
 }
+
+static inline A_STATUS wdi_event_sub(struct cdp_pdev *ppdev, void *event_cb_sub,
+				     uint32_t event)
+{
+	return A_OK;
+}
+
+static inline A_STATUS wdi_event_unsub(struct cdp_pdev *ppdev,
+				       void *event_cb_sub,
+				       uint32_t event)
+{
+	return A_OK;
+}
 #endif /* WDI_EVENT_ENABLE */
 
 #endif /* _WDI_EVENT_API_H_ */
diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h
index a4ec4a1..498276f 100644
--- a/core/hdd/inc/wlan_hdd_cfg.h
+++ b/core/hdd/inc/wlan_hdd_cfg.h
@@ -5570,6 +5570,7 @@
 #define CFG_ENABLE_CCK_TX_FIR_OVERRIDE_MAX      (1)
 #define CFG_ENABLE_CCK_TX_FIR_OVERRIDE_DEFAULT  (0)
 
+#ifndef REMOVE_PKT_LOG
 #define CFG_ENABLE_PACKET_LOG            "gEnablePacketLog"
 #define CFG_ENABLE_PACKET_LOG_MIN        (0)
 #define CFG_ENABLE_PACKET_LOG_MAX        (1)
@@ -5578,7 +5579,7 @@
 #else
 #define CFG_ENABLE_PACKET_LOG_DEFAULT    (0)
 #endif
-
+#endif
 
 
 /* gFwDebugLogType takes values from enum dbglog_process_t,
@@ -14612,7 +14613,10 @@
 
 	bool debugP2pRemainOnChannel;
 
+#ifndef REMOVE_PKT_LOG
 	bool enablePacketLog;
+#endif
+
 #ifdef MSM_PLATFORM
 	uint32_t busBandwidthHighThreshold;
 	uint32_t busBandwidthMediumThreshold;
diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c
index 96981fe..3a834b8 100644
--- a/core/hdd/src/wlan_hdd_cfg.c
+++ b/core/hdd/src/wlan_hdd_cfg.c
@@ -2940,12 +2940,14 @@
 		     CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MIN,
 		     CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MAX),
 
+#ifndef REMOVE_PKT_LOG
 	REG_VARIABLE(CFG_ENABLE_PACKET_LOG, WLAN_PARAM_Integer,
 		     struct hdd_config, enablePacketLog,
 		     VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
 		     CFG_ENABLE_PACKET_LOG_DEFAULT,
 		     CFG_ENABLE_PACKET_LOG_MIN,
 		     CFG_ENABLE_PACKET_LOG_MAX),
+#endif
 
 #ifdef WLAN_FEATURE_ROAM_OFFLOAD
 	REG_VARIABLE(CFG_ROAMING_OFFLOAD_NAME, WLAN_PARAM_Integer,
diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c
index 930b096..e61785f 100644
--- a/core/hdd/src/wlan_hdd_hostapd.c
+++ b/core/hdd/src/wlan_hdd_hostapd.c
@@ -4435,6 +4435,7 @@
 	return ret;
 }
 
+#ifndef REMOVE_PKT_LOG
 int
 static __iw_softap_set_pktlog(struct net_device *dev,
 				    struct iw_request_info *info,
@@ -4473,7 +4474,15 @@
 
 	return ret;
 }
-
+#else
+int
+static iw_softap_set_pktlog(struct net_device *dev,
+				  struct iw_request_info *info,
+				  union iwreq_data *wrqu, char *extra)
+{
+	return -EINVAL;
+}
+#endif
 
 int
 static __iw_softap_set_tx_power(struct net_device *dev,
diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c
index 9b182dc..fa14a98 100644
--- a/core/hdd/src/wlan_hdd_wext.c
+++ b/core/hdd/src/wlan_hdd_wext.c
@@ -7271,7 +7271,6 @@
 			return ret;
 		break;
 	}
-
 	case WE_MAC_PWR_DEBUG_CMD:
 	{
 		struct sir_mac_pwr_dbg_cmd mac_pwr_dbg_args;
@@ -9078,10 +9077,12 @@
 	 0,
 	 "setTxMaxPower5G"},
 
+#ifndef REMOVE_PKT_LOG
 	{WE_SET_PKTLOG,
 	 IW_PRIV_TYPE_INT | MAX_VAR_ARGS,
 	 0,
 	 "pktlog"},
+#endif
 
 	/* SAP has TxMax whereas STA has MaxTx, adding TxMax for STA
 	 * as well to keep same syntax as in SAP. Now onwards, STA
diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c
index 836d792..1febd5d 100644
--- a/core/wma/src/wma_mgmt.c
+++ b/core/wma/src/wma_mgmt.c
@@ -47,6 +47,8 @@
 
 #if !defined(REMOVE_PKT_LOG)
 #include "pktlog_ac.h"
+#else
+#include "pktlog_ac_fmt.h"
 #endif /* REMOVE_PKT_LOG */
 
 #include "dbglog_host.h"
diff --git a/uapi/linux/pktlog_ac_fmt.h b/uapi/linux/pktlog_ac_fmt.h
index bd4849c..5bc1969 100644
--- a/uapi/linux/pktlog_ac_fmt.h
+++ b/uapi/linux/pktlog_ac_fmt.h
@@ -16,10 +16,11 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-#ifndef REMOVE_PKT_LOG
 #ifndef _PKTLOG_FMT_H_
 #define _PKTLOG_FMT_H_
 
+#ifndef REMOVE_PKT_LOG
+
 #define CUR_PKTLOG_VER          10010   /* Packet log version */
 #define PKTLOG_MAGIC_NUM        7735225
 
@@ -65,26 +66,6 @@
 #endif
 } __ATTRIB_PACK;
 
-/**
- * enum pkt_type - packet type
- * @START_MONITOR: indicates parser to start packetdump parsing
- * @STOP_MONITOR: indicates parser to stop packetdump parsing
- * @TX_MGMT_PKT: TX management Packet
- * @TX_DATA_PKT: TX data Packet
- * @RX_MGMT_PKT: RX management Packet
- * @RX_DATA_PKT: RX data Packet
- *
- * This enum has packet types
- */
-enum pkt_type {
-	START_MONITOR = 1,
-	STOP_MONITOR,
-	TX_MGMT_PKT,
-	TX_DATA_PKT,
-	RX_MGMT_PKT,
-	RX_DATA_PKT,
-};
-
 #define ATH_PKTLOG_HDR_FLAGS_MASK 0xffff
 #define ATH_PKTLOG_HDR_FLAGS_SHIFT 0
 #define ATH_PKTLOG_HDR_FLAGS_OFFSET 0
@@ -314,6 +295,28 @@
 				sizeof(struct ath_pktlog_hdr)) ? _rd_offset : 0; \
 	} while (0)
 
+#endif /* REMOVE_PKT_LOG */
+
+/**
+ * enum pkt_type - packet type
+ * @START_MONITOR: indicates parser to start packetdump parsing
+ * @STOP_MONITOR: indicates parser to stop packetdump parsing
+ * @TX_MGMT_PKT: TX management Packet
+ * @TX_DATA_PKT: TX data Packet
+ * @RX_MGMT_PKT: RX management Packet
+ * @RX_DATA_PKT: RX data Packet
+ *
+ * This enum has packet types
+ */
+enum pkt_type {
+	START_MONITOR = 1,
+	STOP_MONITOR,
+	TX_MGMT_PKT,
+	TX_DATA_PKT,
+	RX_MGMT_PKT,
+	RX_DATA_PKT,
+};
+
 /**
  * enum tx_pkt_fate - tx packet fate
  * @TX_PKT_FATE_ACKED: Sent over air and ACKed
@@ -392,4 +395,3 @@
 };
 
 #endif /* _PKTLOG_FMT_H_ */
-#endif /* REMOVE_PKT_LOG */