qcacld-3.0: Create IPA CLD component

As part of converged driver model remove IPA from
HDD and create a new IPA CLD component. Add files for
IPA core, dispatcher and target_if. Define IPA related
public and private structures.

Change-Id: I8848331edc7dd878f9fc51ef9f5e311ad91ed70b
CRs-Fixed: 2177925
diff --git a/Kbuild b/Kbuild
index 4468454..1aa6abb 100644
--- a/Kbuild
+++ b/Kbuild
@@ -1071,6 +1071,18 @@
 		$(OCB_DIR)/core/src/wlan_ocb_main.o
 endif
 
+######## IPA ##############
+IPA_DIR := components/ipa
+IPA_INC := -I$(WLAN_ROOT)/$(IPA_DIR)/core/inc \
+		-I$(WLAN_ROOT)/$(IPA_DIR)/dispatcher/inc
+
+ifeq ($(CONFIG_IPA_OFFLOAD), 1)
+IPA_OBJS :=	$(IPA_DIR)/dispatcher/src/wlan_ipa_ucfg_api.o \
+		$(IPA_DIR)/dispatcher/src/wlan_ipa_obj_mgmt_api.o \
+		$(IPA_DIR)/dispatcher/src/wlan_ipa_tgt_api.o \
+		$(IPA_DIR)/core/src/wlan_ipa_main.o
+endif
+
 ########## CLD TARGET_IF #######
 CLD_TARGET_IF_DIR := components/target_if
 
@@ -1099,6 +1111,11 @@
 CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/disa/src/target_if_disa.o
 endif
 
+ifeq ($(CONFIG_IPA_OFFLOAD), 1)
+CLD_TARGET_IF_INC += -I$(WLAN_ROOT)/$(CLD_TARGET_IF_DIR)/ipa/inc
+CLD_TARGET_IF_OBJ += $(CLD_TARGET_IF_DIR)/ipa/src/target_if_ipa.o
+endif
+
 ############## UMAC P2P ###########
 P2P_DIR := umac/p2p
 P2P_CORE_DIR := $(P2P_DIR)/core
@@ -1681,6 +1698,8 @@
 INCS +=		$(PLD_INC)
 INCS +=		$(OCB_INC)
 
+INCS +=		$(IPA_INC)
+
 ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
 INCS +=		$(PKTLOG_INC)
 endif
@@ -1755,6 +1774,10 @@
 OBJS +=		$(OCB_OBJS)
 endif
 
+ifeq ($(CONFIG_IPA_OFFLOAD), 1)
+OBJS +=		$(IPA_OBJS)
+endif
+
 ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
 OBJS +=		$(PKTLOG_OBJS)
 endif