1 /*
2  * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
3  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for
6  * any purpose with or without fee is hereby granted, provided that the
7  * above copyright notice and this permission notice appear in all
8  * copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17  * PERFORMANCE OF THIS SOFTWARE.
18  */
19 
20 /**
21  * DOC: wlan_interop_issues_ap_ucfg_api.h
22  *
23  * This header file maintain API declaration required for northbound interaction
24  */
25 
26 #ifndef __WLAN_INTEROP_ISSUES_AP_UCFG_API_H__
27 #define __WLAN_INTEROP_ISSUES_AP_UCFG_API_H__
28 
29 #ifdef WLAN_FEATURE_INTEROP_ISSUES_AP
30 #include <qdf_status.h>
31 #include <qdf_types.h>
32 #include <wlan_interop_issues_ap_public_structs.h>
33 
34 /**
35  * ucfg_interop_issues_ap_psoc_enable() - interop issues ap component enable
36  * @psoc: the point to psoc object
37  *
38  * Return: QDF_STATUS_SUCCESS - in case of success
39  */
40 QDF_STATUS ucfg_interop_issues_ap_psoc_enable(struct wlan_objmgr_psoc *psoc);
41 
42 /**
43  * ucfg_interop_issues_ap_psoc_disable() - interop issues ap component disable
44  * @psoc: the point to psoc object
45  *
46  * Return: QDF_STATUS_SUCCESS - in case of success
47  */
48 QDF_STATUS ucfg_interop_issues_ap_psoc_disable(struct wlan_objmgr_psoc *psoc);
49 
50 /**
51  * ucfg_interop_issues_ap_init() - interop issues ap component initialization
52  *
53  * Return: QDF_STATUS_SUCCESS - in case of success
54  */
55 QDF_STATUS ucfg_interop_issues_ap_init(void);
56 
57 /**
58  * ucfg_interop_issues_ap_deinit() - interop issues ap component de-init
59  *
60  * Return: QDF_STATUS_SUCCESS - in case of success
61  */
62 QDF_STATUS ucfg_interop_issues_ap_deinit(void);
63 
64 /**
65  * ucfg_register_interop_issues_ap_callback() - API to register callback
66  * @pdev: the pointer of pdev object
67  * @cbs: pointer to callback structure
68  *
69  * Return: none
70  */
71 void ucfg_register_interop_issues_ap_callback(struct wlan_objmgr_pdev *pdev,
72 				struct wlan_interop_issues_ap_callbacks *cbs);
73 
74 /**
75  * ucfg_set_interop_issues_ap_config() - API to set interop issues ap
76  * @psoc: the pointer of psoc object
77  * @rap: the pointer of interop issues ap info
78  *
79  * Return: none
80  */
81 QDF_STATUS ucfg_set_interop_issues_ap_config(struct wlan_objmgr_psoc *psoc,
82 				     struct wlan_interop_issues_ap_info *rap);
83 #else
84 static inline
ucfg_interop_issues_ap_psoc_enable(struct wlan_objmgr_psoc * psoc)85 QDF_STATUS ucfg_interop_issues_ap_psoc_enable(struct wlan_objmgr_psoc *psoc)
86 {
87 	return QDF_STATUS_SUCCESS;
88 }
89 
90 static inline
ucfg_interop_issues_ap_psoc_disable(struct wlan_objmgr_psoc * psoc)91 QDF_STATUS ucfg_interop_issues_ap_psoc_disable(struct wlan_objmgr_psoc *psoc)
92 {
93 	return QDF_STATUS_SUCCESS;
94 }
95 
96 static inline
ucfg_interop_issues_ap_init(void)97 QDF_STATUS ucfg_interop_issues_ap_init(void) { return QDF_STATUS_SUCCESS; }
98 
99 static inline
ucfg_interop_issues_ap_deinit(void)100 QDF_STATUS ucfg_interop_issues_ap_deinit(void) { return QDF_STATUS_SUCCESS; }
101 #endif /* WLAN_FEATURE_INTEROP_ISSUES_AP */
102 #endif /* __WLAN_RAP_PS_UCFG_API_H__ */
103