xref: /wlan-driver/qca-wifi-host-cmn/os_if/linux/wifi_pos/inc/wlan_cfg80211_wifi_pos.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 /**
20  * DOC: wlan_cfg80211_wifi_pos.h
21  * declares wifi pos module driver functions interfacing with linux kernel
22  */
23 
24 #ifndef _WLAN_CFG80211_WIFI_POS_H_
25 #define _WLAN_CFG80211_WIFI_POS_H_
26 
27 #include <linux/version.h>
28 #include <linux/netdevice.h>
29 #include <net/netlink.h>
30 #include <net/cfg80211.h>
31 
32 #if defined(WIFI_POS_CONVERGED) && defined(WLAN_FEATURE_RTT_11AZ_SUPPORT)
33 void
34 wlan_wifi_pos_cfg80211_set_wiphy_ext_feature(struct wiphy *wiphy,
35 					     struct wlan_objmgr_psoc *psoc);
36 
37 /**
38  * wlan_wifi_pos_cfg80211_set_features  - Set the vendor feature flags
39  * @psoc: Global PSOC pointer
40  * @feature_flags: feature flags
41  */
42 void wlan_wifi_pos_cfg80211_set_features(struct wlan_objmgr_psoc *psoc,
43 					 uint8_t *feature_flags);
44 #else
45 static inline
wlan_wifi_pos_cfg80211_set_features(struct wlan_objmgr_psoc * psoc,uint8_t * feature_flags)46 void wlan_wifi_pos_cfg80211_set_features(struct wlan_objmgr_psoc *psoc,
47 					 uint8_t *feature_flags)
48 {}
49 
50 static inline void
wlan_wifi_pos_cfg80211_set_wiphy_ext_feature(struct wiphy * wiphy,struct wlan_objmgr_psoc * psoc)51 wlan_wifi_pos_cfg80211_set_wiphy_ext_feature(struct wiphy *wiphy,
52 					     struct wlan_objmgr_psoc *psoc)
53 {}
54 #endif /* WIFI_POS_CONVERGED && WLAN_FEATURE_RTT_11AZ_SUPPORT*/
55 #endif /* _WLAN_CFG80211_WIFI_POS_H_ */
56