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