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