xref: /wlan-driver/qcacld-3.0/core/hdd/inc/wlan_hdd_tdls.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
6*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
7*5113495bSYour Name  * above copyright notice and this permission notice appear in all
8*5113495bSYour Name  * copies.
9*5113495bSYour Name  *
10*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
18*5113495bSYour Name  */
19*5113495bSYour Name 
20*5113495bSYour Name #ifndef __HDD_TDLS_H
21*5113495bSYour Name #define __HDD_TDLS_H
22*5113495bSYour Name /**
23*5113495bSYour Name  * DOC: wlan_hdd_tdls.h
24*5113495bSYour Name  * WLAN Host Device Driver TDLS include file
25*5113495bSYour Name  */
26*5113495bSYour Name 
27*5113495bSYour Name #include "qca_vendor.h"
28*5113495bSYour Name 
29*5113495bSYour Name struct hdd_context;
30*5113495bSYour Name 
31*5113495bSYour Name #ifdef FEATURE_WLAN_TDLS
32*5113495bSYour Name 
33*5113495bSYour Name extern const struct nla_policy
34*5113495bSYour Name 	wlan_hdd_tdls_mode_configuration_policy
35*5113495bSYour Name 	[QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX + 1];
36*5113495bSYour Name 
37*5113495bSYour Name extern const struct nla_policy
38*5113495bSYour Name 	wlan_hdd_tdls_disc_rsp_policy
39*5113495bSYour Name 	[QCA_WLAN_VENDOR_ATTR_TDLS_DISC_RSP_EXT_MAX + 1];
40*5113495bSYour Name 
41*5113495bSYour Name #define FEATURE_TDLS_VENDOR_COMMANDS                                    \
42*5113495bSYour Name {                                                                       \
43*5113495bSYour Name 	.info.vendor_id = QCA_NL80211_VENDOR_ID,                        \
44*5113495bSYour Name 	.info.subcmd = QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS,        \
45*5113495bSYour Name 	.flags = WIPHY_VENDOR_CMD_NEED_WDEV |                           \
46*5113495bSYour Name 			 WIPHY_VENDOR_CMD_NEED_NETDEV |                 \
47*5113495bSYour Name 			 WIPHY_VENDOR_CMD_NEED_RUNNING,                 \
48*5113495bSYour Name 	.doit = wlan_hdd_cfg80211_configure_tdls_mode,                  \
49*5113495bSYour Name 	vendor_command_policy(wlan_hdd_tdls_mode_configuration_policy,  \
50*5113495bSYour Name 			      QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX)     \
51*5113495bSYour Name },                                                                     \
52*5113495bSYour Name {                                                                      \
53*5113495bSYour Name 	.info.vendor_id = QCA_NL80211_VENDOR_ID,                       \
54*5113495bSYour Name 	.info.subcmd = QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE,          \
55*5113495bSYour Name 	.flags = WIPHY_VENDOR_CMD_NEED_WDEV |                          \
56*5113495bSYour Name 		 WIPHY_VENDOR_CMD_NEED_NETDEV |                        \
57*5113495bSYour Name 		 WIPHY_VENDOR_CMD_NEED_RUNNING,                        \
58*5113495bSYour Name 	.doit = wlan_hdd_cfg80211_exttdls_enable,                      \
59*5113495bSYour Name 	vendor_command_policy(VENDOR_CMD_RAW_DATA, 0)                  \
60*5113495bSYour Name },                                                                     \
61*5113495bSYour Name {                                                                      \
62*5113495bSYour Name 	.info.vendor_id = QCA_NL80211_VENDOR_ID,                       \
63*5113495bSYour Name 	.info.subcmd = QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE,         \
64*5113495bSYour Name 	.flags = WIPHY_VENDOR_CMD_NEED_WDEV |                          \
65*5113495bSYour Name 		 WIPHY_VENDOR_CMD_NEED_NETDEV |                        \
66*5113495bSYour Name 		 WIPHY_VENDOR_CMD_NEED_RUNNING,                        \
67*5113495bSYour Name 	.doit = wlan_hdd_cfg80211_exttdls_disable,                     \
68*5113495bSYour Name 	vendor_command_policy(VENDOR_CMD_RAW_DATA, 0)                  \
69*5113495bSYour Name },                                                                     \
70*5113495bSYour Name {                                                                      \
71*5113495bSYour Name 	.info.vendor_id = QCA_NL80211_VENDOR_ID,                       \
72*5113495bSYour Name 	.info.subcmd = QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS,      \
73*5113495bSYour Name 	.flags = WIPHY_VENDOR_CMD_NEED_WDEV |                          \
74*5113495bSYour Name 		 WIPHY_VENDOR_CMD_NEED_NETDEV,                         \
75*5113495bSYour Name 	.doit = wlan_hdd_cfg80211_exttdls_get_status,                  \
76*5113495bSYour Name 	vendor_command_policy(VENDOR_CMD_RAW_DATA, 0)                  \
77*5113495bSYour Name },                                                                     \
78*5113495bSYour Name {                                                                      \
79*5113495bSYour Name 	.info.vendor_id = QCA_NL80211_VENDOR_ID,                       \
80*5113495bSYour Name 	.info.subcmd = QCA_NL80211_VENDOR_SUBCMD_TDLS_DISC_RSP_EXT,    \
81*5113495bSYour Name 	.flags = WIPHY_VENDOR_CMD_NEED_WDEV |                          \
82*5113495bSYour Name 		 WIPHY_VENDOR_CMD_NEED_NETDEV,                         \
83*5113495bSYour Name 	.doit = wlan_hdd_cfg80211_exttdls_set_link_id,                 \
84*5113495bSYour Name 	vendor_command_policy(wlan_hdd_tdls_disc_rsp_policy,           \
85*5113495bSYour Name 			      QCA_WLAN_VENDOR_ATTR_TDLS_DISC_RSP_EXT_TX_LINK) \
86*5113495bSYour Name },
87*5113495bSYour Name 
88*5113495bSYour Name /* Bit mask flag for tdls_option to FW */
89*5113495bSYour Name #define ENA_TDLS_OFFCHAN      (1 << 0)  /* TDLS Off Channel support */
90*5113495bSYour Name #define ENA_TDLS_BUFFER_STA   (1 << 1)  /* TDLS Buffer STA support */
91*5113495bSYour Name #define ENA_TDLS_SLEEP_STA    (1 << 2)  /* TDLS Sleep STA support */
92*5113495bSYour Name 
93*5113495bSYour Name int wlan_hdd_tdls_get_all_peers(struct hdd_adapter *adapter, char *buf,
94*5113495bSYour Name 				int buflen);
95*5113495bSYour Name 
96*5113495bSYour Name int wlan_hdd_cfg80211_exttdls_enable(struct wiphy *wiphy,
97*5113495bSYour Name 				     struct wireless_dev *wdev,
98*5113495bSYour Name 				     const void *data,
99*5113495bSYour Name 				     int data_len);
100*5113495bSYour Name 
101*5113495bSYour Name int wlan_hdd_cfg80211_exttdls_disable(struct wiphy *wiphy,
102*5113495bSYour Name 				      struct wireless_dev *wdev,
103*5113495bSYour Name 				      const void *data,
104*5113495bSYour Name 				      int data_len);
105*5113495bSYour Name 
106*5113495bSYour Name int wlan_hdd_cfg80211_exttdls_get_status(struct wiphy *wiphy,
107*5113495bSYour Name 					 struct wireless_dev *wdev,
108*5113495bSYour Name 					 const void *data,
109*5113495bSYour Name 					 int data_len);
110*5113495bSYour Name 
111*5113495bSYour Name /**
112*5113495bSYour Name  * wlan_hdd_cfg80211_exttdls_set_link_id() - set link id
113*5113495bSYour Name  * @wiphy:   pointer to wireless wiphy structure.
114*5113495bSYour Name  * @wdev:    pointer to wireless_dev structure.
115*5113495bSYour Name  * @data:    Pointer to the data to be passed via vendor interface
116*5113495bSYour Name  * @data_len:Length of the data to be passed
117*5113495bSYour Name  *
118*5113495bSYour Name  * Return:   Return the Success or Failure code.
119*5113495bSYour Name  */
120*5113495bSYour Name int
121*5113495bSYour Name wlan_hdd_cfg80211_exttdls_set_link_id(struct wiphy *wiphy,
122*5113495bSYour Name 				      struct wireless_dev *wdev,
123*5113495bSYour Name 				      const void *data,
124*5113495bSYour Name 				      int data_len);
125*5113495bSYour Name 
126*5113495bSYour Name #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0))
127*5113495bSYour Name int wlan_hdd_cfg80211_tdls_oper(struct wiphy *wiphy,
128*5113495bSYour Name 				struct net_device *dev,
129*5113495bSYour Name 				const uint8_t *peer,
130*5113495bSYour Name 				enum nl80211_tdls_operation oper);
131*5113495bSYour Name #else
132*5113495bSYour Name int wlan_hdd_cfg80211_tdls_oper(struct wiphy *wiphy,
133*5113495bSYour Name 				struct net_device *dev,
134*5113495bSYour Name 				uint8_t *peer,
135*5113495bSYour Name 				enum nl80211_tdls_operation oper);
136*5113495bSYour Name #endif
137*5113495bSYour Name 
138*5113495bSYour Name #ifdef TDLS_MGMT_VERSION5
139*5113495bSYour Name int wlan_hdd_cfg80211_tdls_mgmt(struct wiphy *wiphy,
140*5113495bSYour Name 				struct net_device *dev, const uint8_t *peer,
141*5113495bSYour Name 				uint8_t action_code, uint8_t dialog_token,
142*5113495bSYour Name 				uint16_t status_code, uint32_t peer_capability,
143*5113495bSYour Name 				bool initiator, const uint8_t *buf,
144*5113495bSYour Name 				size_t len, int link_id);
145*5113495bSYour Name #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0))
146*5113495bSYour Name int wlan_hdd_cfg80211_tdls_mgmt(struct wiphy *wiphy,
147*5113495bSYour Name 				struct net_device *dev, const u8 *peer,
148*5113495bSYour Name 				int link_id, u8 action_code,
149*5113495bSYour Name 				u8 dialog_token, u16 status_code,
150*5113495bSYour Name 				u32 peer_capability, bool initiator,
151*5113495bSYour Name 				const u8 *buf, size_t len);
152*5113495bSYour Name #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0))
153*5113495bSYour Name int wlan_hdd_cfg80211_tdls_mgmt(struct wiphy *wiphy,
154*5113495bSYour Name 				struct net_device *dev, const uint8_t *peer,
155*5113495bSYour Name 				uint8_t action_code, uint8_t dialog_token,
156*5113495bSYour Name 				uint16_t status_code, uint32_t peer_capability,
157*5113495bSYour Name 				bool initiator, const uint8_t *buf,
158*5113495bSYour Name 				size_t len);
159*5113495bSYour Name #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0))
160*5113495bSYour Name int wlan_hdd_cfg80211_tdls_mgmt(struct wiphy *wiphy,
161*5113495bSYour Name 				struct net_device *dev, const uint8_t *peer,
162*5113495bSYour Name 				uint8_t action_code, uint8_t dialog_token,
163*5113495bSYour Name 				uint16_t status_code, uint32_t peer_capability,
164*5113495bSYour Name 				const uint8_t *buf, size_t len);
165*5113495bSYour Name #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)) || defined(TDLS_MGMT_VERSION2)
166*5113495bSYour Name int wlan_hdd_cfg80211_tdls_mgmt(struct wiphy *wiphy,
167*5113495bSYour Name 				struct net_device *dev, uint8_t *peer,
168*5113495bSYour Name 				uint8_t action_code, uint8_t dialog_token,
169*5113495bSYour Name 				uint16_t status_code, uint32_t peer_capability,
170*5113495bSYour Name 				const uint8_t *buf, size_t len);
171*5113495bSYour Name #else
172*5113495bSYour Name int wlan_hdd_cfg80211_tdls_mgmt(struct wiphy *wiphy,
173*5113495bSYour Name 				struct net_device *dev, uint8_t *peer,
174*5113495bSYour Name 				uint8_t action_code, uint8_t dialog_token,
175*5113495bSYour Name 				uint16_t status_code, const uint8_t *buf,
176*5113495bSYour Name 				size_t len);
177*5113495bSYour Name #endif
178*5113495bSYour Name 
179*5113495bSYour Name /**
180*5113495bSYour Name  * hdd_set_tdls_offchannel() - set tdls off-channel number
181*5113495bSYour Name  * @hdd_ctx:     Pointer to the HDD context
182*5113495bSYour Name  * @adapter: Pointer to the HDD adapter
183*5113495bSYour Name  * @offchannel: tdls off-channel number
184*5113495bSYour Name  *
185*5113495bSYour Name  * This function sets tdls off-channel number
186*5113495bSYour Name  *
187*5113495bSYour Name  * Return: 0 on success; negative errno otherwise
188*5113495bSYour Name  */
189*5113495bSYour Name int hdd_set_tdls_offchannel(struct hdd_context *hdd_ctx,
190*5113495bSYour Name 			    struct hdd_adapter *adapter,
191*5113495bSYour Name 			    int offchannel);
192*5113495bSYour Name 
193*5113495bSYour Name /**
194*5113495bSYour Name  * hdd_get_tdls_connected_peer_count() - Gets connected TDLS peer count.
195*5113495bSYour Name  * @link_info: Pointer to link_info in hdd adapter
196*5113495bSYour Name  *
197*5113495bSYour Name  * This function return number of connected peer.
198*5113495bSYour Name  *
199*5113495bSYour Name  * Return: void
200*5113495bSYour Name  */
201*5113495bSYour Name uint16_t
202*5113495bSYour Name hdd_get_tdls_connected_peer_count(struct wlan_hdd_link_info *link_info);
203*5113495bSYour Name 
204*5113495bSYour Name /**
205*5113495bSYour Name  * hdd_check_and_set_tdls_conn_params() - Sets and Overwrite netdev params if
206*5113495bSYour Name  *                               stations is connected in 11A, 11B and 11G mode.
207*5113495bSYour Name  * @vdev: Pointer to vdev objmgr
208*5113495bSYour Name  *
209*5113495bSYour Name  * This function updates the netdev params such as enabling checksum/tso
210*5113495bSYour Name  * if the feature "disable checksum/tso for 11abg connections" is enabled via
211*5113495bSYour Name  * INI. if INI is enabled then 11abg sta link will be created by disabling
212*5113495bSYour Name  * checksum/tso which are needed to be enabled for better throughput
213*5113495bSYour Name  * for TDLS connected in 11AX, 11AC, 11N mode
214*5113495bSYour Name  *
215*5113495bSYour Name  * Return: void
216*5113495bSYour Name  */
217*5113495bSYour Name void hdd_check_and_set_tdls_conn_params(struct wlan_objmgr_vdev *vdev);
218*5113495bSYour Name 
219*5113495bSYour Name /**
220*5113495bSYour Name  * hdd_check_and_set_tdls_disconn_params() - Overwrite netdev params if BSS
221*5113495bSYour Name  *                                           STA link is 11A, 11B and 11G mode
222*5113495bSYour Name  *                                           when TDLS is disconnected
223*5113495bSYour Name  * @vdev: Pointer to vdev objmgr
224*5113495bSYour Name  *
225*5113495bSYour Name  * During TDLS connection if STA-BSS link is in 11a, 11b, 11g mode, then
226*5113495bSYour Name  * legacy netdev features such as checksum/tso are enabled. This function will
227*5113495bSYour Name  * take care of disabling them during TDLS disconnection if the feature
228*5113495bSYour Name  * "disable checksum/tso for 11abg connections" is enabled via INI.
229*5113495bSYour Name  *
230*5113495bSYour Name  * Return: void
231*5113495bSYour Name  */
232*5113495bSYour Name void hdd_check_and_set_tdls_disconn_params(struct wlan_objmgr_vdev *vdev);
233*5113495bSYour Name 
234*5113495bSYour Name /**
235*5113495bSYour Name  * hdd_set_tdls_secoffchanneloffset() - set secondary tdls off-channel offset
236*5113495bSYour Name  * @hdd_ctx:     Pointer to the HDD context
237*5113495bSYour Name  * @adapter: Pointer to the HDD adapter
238*5113495bSYour Name  * @offchanoffset: tdls off-channel offset
239*5113495bSYour Name  *
240*5113495bSYour Name  * This function sets secondary tdls off-channel offset
241*5113495bSYour Name  *
242*5113495bSYour Name  * Return: 0 on success; negative errno otherwise
243*5113495bSYour Name  */
244*5113495bSYour Name int hdd_set_tdls_secoffchanneloffset(struct hdd_context *hdd_ctx,
245*5113495bSYour Name 				     struct hdd_adapter *adapter,
246*5113495bSYour Name 				     int offchanoffset);
247*5113495bSYour Name 
248*5113495bSYour Name /**
249*5113495bSYour Name  * hdd_set_tdls_offchannelmode() - set tdls off-channel mode
250*5113495bSYour Name  * @hdd_ctx:     Pointer to the HDD context
251*5113495bSYour Name  * @adapter: Pointer to the HDD adapter
252*5113495bSYour Name  * @offchanmode: tdls off-channel mode
253*5113495bSYour Name  * 1-Enable Channel Switch
254*5113495bSYour Name  * 2-Disable Channel Switch
255*5113495bSYour Name  *
256*5113495bSYour Name  * This function sets tdls off-channel mode
257*5113495bSYour Name  *
258*5113495bSYour Name  * Return: 0 on success; negative errno otherwise
259*5113495bSYour Name  */
260*5113495bSYour Name int hdd_set_tdls_offchannelmode(struct hdd_context *hdd_ctx,
261*5113495bSYour Name 				struct hdd_adapter *adapter,
262*5113495bSYour Name 				int offchanmode);
263*5113495bSYour Name int hdd_set_tdls_scan_type(struct hdd_context *hdd_ctx, int val);
264*5113495bSYour Name 
265*5113495bSYour Name /**
266*5113495bSYour Name  * wlan_hdd_tdls_antenna_switch() - Dynamic TDLS antenna  switch 1x1 <-> 2x2
267*5113495bSYour Name  * antenna mode in standalone station
268*5113495bSYour Name  * @link_info: Pointer to link_info in hdd adapter
269*5113495bSYour Name  * @mode: enum antenna_mode
270*5113495bSYour Name  *
271*5113495bSYour Name  * Return: 0 if success else non zero
272*5113495bSYour Name  */
273*5113495bSYour Name int wlan_hdd_tdls_antenna_switch(struct wlan_hdd_link_info *link_info,
274*5113495bSYour Name 				 uint32_t mode);
275*5113495bSYour Name 
276*5113495bSYour Name /**
277*5113495bSYour Name  * wlan_hdd_cfg80211_configure_tdls_mode() - configure tdls mode
278*5113495bSYour Name  * @wiphy:   pointer to wireless wiphy structure.
279*5113495bSYour Name  * @wdev:    pointer to wireless_dev structure.
280*5113495bSYour Name  * @data:    Pointer to the data to be passed via vendor interface
281*5113495bSYour Name  * @data_len:Length of the data to be passed
282*5113495bSYour Name  *
283*5113495bSYour Name  * Return:   Return the Success or Failure code.
284*5113495bSYour Name  */
285*5113495bSYour Name int wlan_hdd_cfg80211_configure_tdls_mode(struct wiphy *wiphy,
286*5113495bSYour Name 					struct wireless_dev *wdev,
287*5113495bSYour Name 					const void *data,
288*5113495bSYour Name 					int data_len);
289*5113495bSYour Name 
290*5113495bSYour Name QDF_STATUS hdd_tdls_register_peer(void *userdata, uint32_t vdev_id,
291*5113495bSYour Name 				  const uint8_t *mac, uint8_t qos);
292*5113495bSYour Name 
293*5113495bSYour Name /**
294*5113495bSYour Name  * hdd_init_tdls_config() - initialize tdls config
295*5113495bSYour Name  * @tdls_cfg: pointer to tdls_start_params structure
296*5113495bSYour Name  *
297*5113495bSYour Name  * Return: none
298*5113495bSYour Name  */
299*5113495bSYour Name void hdd_init_tdls_config(struct tdls_start_params *tdls_cfg);
300*5113495bSYour Name 
301*5113495bSYour Name /**
302*5113495bSYour Name  * hdd_config_tdls_with_band_switch() - configure tdls when band changes
303*5113495bSYour Name  *                                      Disable tdls offchmode if only one of
304*5113495bSYour Name  *                                      bands is supported
305*5113495bSYour Name  *                                      Enable tdls offchmode if all band enable
306*5113495bSYour Name  * @hdd_ctx:     Pointer to the HDD context
307*5113495bSYour Name  *
308*5113495bSYour Name  * Return: none
309*5113495bSYour Name  */
310*5113495bSYour Name void hdd_config_tdls_with_band_switch(struct hdd_context *hdd_ctx);
311*5113495bSYour Name #else
312*5113495bSYour Name 
313*5113495bSYour Name #define FEATURE_TDLS_VENDOR_COMMANDS
314*5113495bSYour Name 
315*5113495bSYour Name static inline int
wlan_hdd_tdls_antenna_switch(struct wlan_hdd_link_info * link_info,uint32_t mode)316*5113495bSYour Name wlan_hdd_tdls_antenna_switch(struct wlan_hdd_link_info *link_info,
317*5113495bSYour Name 			     uint32_t mode)
318*5113495bSYour Name {
319*5113495bSYour Name 	return 0;
320*5113495bSYour Name }
321*5113495bSYour Name 
wlan_hdd_cfg80211_configure_tdls_mode(struct wiphy * wiphy,struct wireless_dev * wdev,const void * data,int data_len)322*5113495bSYour Name static inline int wlan_hdd_cfg80211_configure_tdls_mode(struct wiphy *wiphy,
323*5113495bSYour Name 					struct wireless_dev *wdev,
324*5113495bSYour Name 					const void *data,
325*5113495bSYour Name 					int data_len)
326*5113495bSYour Name {
327*5113495bSYour Name 	return 0;
328*5113495bSYour Name }
329*5113495bSYour Name 
330*5113495bSYour Name static inline
hdd_tdls_register_peer(void * userdata,uint32_t vdev_id,const uint8_t * mac,uint8_t qos)331*5113495bSYour Name QDF_STATUS hdd_tdls_register_peer(void *userdata, uint32_t vdev_id,
332*5113495bSYour Name 				  const uint8_t *mac, uint8_t qos)
333*5113495bSYour Name {
334*5113495bSYour Name 	return QDF_STATUS_SUCCESS;
335*5113495bSYour Name }
336*5113495bSYour Name 
hdd_init_tdls_config(struct tdls_start_params * tdls_cfg)337*5113495bSYour Name static inline void hdd_init_tdls_config(struct tdls_start_params *tdls_cfg)
338*5113495bSYour Name {
339*5113495bSYour Name }
340*5113495bSYour Name 
hdd_config_tdls_with_band_switch(struct hdd_context * hdd_ctx)341*5113495bSYour Name static inline void hdd_config_tdls_with_band_switch(struct hdd_context *hdd_ctx)
342*5113495bSYour Name {
343*5113495bSYour Name }
344*5113495bSYour Name 
345*5113495bSYour Name static inline uint16_t
hdd_get_tdls_connected_peer_count(struct wlan_hdd_link_info * link_info)346*5113495bSYour Name hdd_get_tdls_connected_peer_count(struct wlan_hdd_link_info *link_info)
347*5113495bSYour Name {
348*5113495bSYour Name 	return 0;
349*5113495bSYour Name }
350*5113495bSYour Name 
351*5113495bSYour Name static inline void
hdd_check_and_set_tdls_conn_params(struct wlan_objmgr_vdev * vdev)352*5113495bSYour Name hdd_check_and_set_tdls_conn_params(struct wlan_objmgr_vdev *vdev)
353*5113495bSYour Name {
354*5113495bSYour Name }
355*5113495bSYour Name 
356*5113495bSYour Name static inline void
hdd_check_and_set_tdls_disconn_params(struct wlan_objmgr_vdev * vdev)357*5113495bSYour Name hdd_check_and_set_tdls_disconn_params(struct wlan_objmgr_vdev *vdev)
358*5113495bSYour Name {
359*5113495bSYour Name }
360*5113495bSYour Name #endif /* End of FEATURE_WLAN_TDLS */
361*5113495bSYour Name #endif /* __HDD_TDLS_H */
362