qcacld-3.0: Allow TDLS mode configuration via vendor sub command

Android framework set tdls external control mode as a default
configuration and this conflicts with sigma DUT requirement
which expects TDLS in explicit trigger mode.
To solve this problem, we need a method to change the tdls
mode in wpa supplicant and host driver.
Add support to configure TDLS modes (Explicit, Implicit,
External Control) via vendor sub command.

Change-Id: Ib3c5258098975a573201a87e54674dc274afda77
CRs-Fixed: 1083694
diff --git a/core/hdd/inc/wlan_hdd_tdls.h b/core/hdd/inc/wlan_hdd_tdls.h
index ca4d30c..907e42e 100644
--- a/core/hdd/inc/wlan_hdd_tdls.h
+++ b/core/hdd/inc/wlan_hdd_tdls.h
@@ -738,6 +738,20 @@
  */
 void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter);
 
+/**
+ * wlan_hdd_cfg80211_configure_tdls_mode() - configure tdls mode
+ * @wiphy:   pointer to wireless wiphy structure.
+ * @wdev:    pointer to wireless_dev structure.
+ * @data:    Pointer to the data to be passed via vendor interface
+ * @data_len:Length of the data to be passed
+ *
+ * Return:   Return the Success or Failure code.
+ */
+int wlan_hdd_cfg80211_configure_tdls_mode(struct wiphy *wiphy,
+					struct wireless_dev *wdev,
+					const void *data,
+					int data_len);
+
 #else
 static inline void hdd_tdls_notify_mode_change(hdd_adapter_t *adapter,
 				hdd_context_t *hddctx)
@@ -779,6 +793,15 @@
 static inline void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter)
 {
 }
+
+static inline int wlan_hdd_cfg80211_configure_tdls_mode(struct wiphy *wiphy,
+					struct wireless_dev *wdev,
+					const void *data,
+					int data_len)
+{
+	return 0;
+}
+
 #endif /* End of FEATURE_WLAN_TDLS */
 
 #ifdef FEATURE_WLAN_DIAG_SUPPORT